v2ray-web-manager icon indicating copy to clipboard operation
v2ray-web-manager copied to clipboard

通过中转机到proxy存在 Token报错~ 急救!

Open matthuo333 opened this issue 4 years ago • 21 comments

你的问题是什么?

在客户端到落地VPS间加了台中转,nginx报 502错误,希望尽快支援

出现问题的情况是怎么样的?

  1. 从admin后台取到vmess url后,装入v2r 客户端;
  2. 在客户端中修改访问地址为中转机,同时修改已经映射好的端口;
  3. 启动报错如下

相关日志 java服务日志位于/opt/jar/logs

客户端日志报错: v2ray.com/core/proxy/vmess/outbound: failed to find an available destination > v2ray.com/core/common/retry: [v2ray.com/core/transport/internet/websocket: failed to dial WebSocket > v2ray.com/core/transport/internet/websocket: failed to dial to (wss://xx.xx.xx.xx:xx./ws/admin-xxxx:9b7aaa5f42b8eb9b8b2283xxxxxxxxxxx/): 502 Bad Gateway > websocket: bad handshake] > v2ray.com/core/common/retry: all retry attempts failed

Proxy 日志报错: 2020-06-18 11:42:04.137 WARN 13411 --- [nioEventLoopGroup-3-2] com.jhl.proxy.Dispatcher : 解析阶段发生错误:GET /ws/admin-matt:9b7aaa5f42b8eb9b8b2283xxxxxxxxxxx/ HTTP/1.1 Upgrade: websocket Connection: upgrade Host: ax.xx.xx.xx:xx // 中转机 地址及端口 X-Real-IP: xx.xx.xx.xx //中转机 IP X-Forwarded-For: xx.xx.xx.xx //中转机 IP User-Agent: Go-http-client/1.1 Sec-WebSocket-Key: vpqsd+xxxxxxxxxxxxxx Sec-WebSocket-Version: 13

,e:非法访问,token检测不通过 2020-06-18 11:42:04.146 WARN 13411 --- [nioEventLoopGroup-3-2] com.jhl.pojo.AccountConnectionStat : addAndGet:accountConnectionsCounter 小于1,并发问题

期望结果?

希望尽快支援解决

matthuo333 avatar Jun 18 '20 03:06 matthuo333

Host 中的ip与 admin 面板中服务器配置中的-访问域名的相同不?

master-coder-ll avatar Jun 18 '20 05:06 master-coder-ll

Host 中的ip与 admin 面板中服务器配置中的-访问域名的相同不?

不同。 我重新建立一个和HOST的地址一样的服务器,现在可以了。 不过有个新问题,是这样: 目前admin的规则是一个域名只能建立一个服务器,可否同一个域名或IP可以建立多个服务器呢?目的是实现 同一个中转机的不同端口可以转发访问不同的VPS。 如果不行,有什么变的方案可以达到这个目的呢?

matthuo333 avatar Jun 18 '20 06:06 matthuo333

Host 中的ip与 admin 面板中服务器配置中的-访问域名的相同不?

不同。 我重新建立一个和HOST的地址一样的服务器,现在可以了。 不过有个新问题,是这样: 目前admin的规则是一个域名只能建立一个服务器,可否同一个域名或IP可以建立多个服务器呢?目的是实现 同一个中转机的不同端口可以转发访问不同的VPS。 如果不行,有什么变的方案可以达到这个目的呢?

你好,想問重新建立一個和HOST的地址一樣的服務器是什麼意思呢? 目前我的狀況跟你差不多,NAT使用gost直接轉發tcp+udp到a.domain.com也一樣會報錯

請問你的解決辦法是在面板裡面在創建一個伺服器訪問域名填寫為NAT機的IP嗎? 我剛剛這樣試行不通

謝謝!

lati0s avatar Jun 18 '20 12:06 lati0s

Host 中的ip与 admin 面板中服务器配置中的-访问域名的相同不?

不同。 我重新建立一个和HOST的地址一样的服务器,现在可以了。 不过有个新问题,是这样: 目前admin的规则是一个域名只能建立一个服务器,可否同一个域名或IP可以建立多个服务器呢?目的是实现 同一个中转机的不同端口可以转发访问不同的VPS。 如果不行,有什么变的方案可以达到这个目的呢?

你好,想問重新建立一個和HOST的地址一樣的服務器是什麼意思呢? 目前我的狀況跟你差不多,NAT使用gost直接轉發tcp+udp到a.domain.com也一樣會報錯

請問你的解決辦法是在面板裡面在創建一個伺服器訪問域名填寫為NAT機的IP嗎? 我剛剛這樣試行不通

謝謝!

沒事,結果出乎意料地簡單,只要在面板裡創建伺服器域名填寫NAT位址跟供轉發的port開啟tls就可以轉發了。

謝謝!

lati0s avatar Jun 18 '20 12:06 lati0s

通过子域名解决

master-coder-ll avatar Jun 18 '20 14:06 master-coder-ll

主机中的ip与admin面板中服务器配置中的- 访问域名的相同不?

不同我重新建立一个和主机的地址一样的服务器,现在可以了。 不过有个新问题,是这样: 目前管理的规则是一个域名只能建立一个服务器,可否同一个域名或IP可以建立多个服务器呢?目的是实现同一个中转机的不同端口可以转发访问不同的VPS。 如果不行,有什么变的方案可以达到这个目的呢?

你好,想问重新建立一个和HOST的地址一样的服务器是什么意思呢? 目前我的状况跟你差不多,NAT使用gost直接转发tcp + udp到a.domain.com也一样会报错 请问你的解决方法是在面板里面在创建一个伺服器访问域名填充为NAT机的IP吗? 我刚刚这样试行不通 谢谢!

没事,结果出乎意料地简单,只要在面板里创建伺服器域名寄存NAT位置定位跟供转发的端口开启tls就可以转发了。

谢谢!

你好,请问这个项目如何使用nat建立中转机,我上网搜了中转的教程,看了很多都都不太明白,这项目的v2配置好像和教程里面的不太一样。

shenmirenQUQ avatar Aug 26 '20 11:08 shenmirenQUQ

主机中的ip与admin面板中服务器配置中的- 访问域名的相同不?

不同我重新建立一个和主机的地址一样的服务器,现在可以了。 不过有个新问题,是这样: 目前管理的规则是一个域名只能建立一个服务器,可否同一个域名或IP可以建立多个服务器呢?目的是实现同一个中转机的不同端口可以转发访问不同的VPS。 如果不行,有什么变的方案可以达到这个目的呢?

你好,想问重新建立一个和HOST的地址一样的服务器是什么意思呢? 目前我的状况跟你差不多,NAT使用gost直接转发tcp + udp到a.domain.com也一样会报错 请问你的解决方法是在面板里面在创建一个伺服器访问域名填充为NAT机的IP吗? 我刚刚这样试行不通 谢谢!

没事,结果出乎意料地简单,只要在面板里创建伺服器域名寄存NAT位置定位跟供转发的端口开启tls就可以转发了。 谢谢!

你好,请问这个项目如何使用nat建立中转机,我上网搜了中转的教程,看了很多都都不太明白,这项目的v2配置好像和教程里面的不太一样。

看你的想要做的模式是怎麼樣決定線路安排

最簡單的方式則是在GFW內的NAT VPS只需要做端口轉發,不需要裝v2ray、v2-proxy、v2-admin

NAT VPS使用iptables/gost/brook 轉發port至GFW外面的VPS IP:Port即可 例: NAT 公網IP位址為a.b.c.d,使用VPS供應商提供的傳輸埠轉發規則將50000 TCP/UDP port轉發至VPS內網的port,接著再使用iptables/gost/brook設定轉發規則將所有流量送至GWF外的伺服器(僅限https+websocket模式),其餘隧道加密轉發請自行爬文

lati0s avatar Aug 27 '20 02:08 lati0s

主机中的ip与admin面板中服务器配置中的- 访问域名的相同不?

不同我重新建立一个和主机的地址一样的服务器,现在可以了。 不过有个新问题,是这样: 目前管理的规则是一个域名只能建立一个服务器,可否同一个域名或IP可以建立多个服务器呢?目的是实现同一个中转机的不同端口可以转发访问不同的VPS。 如果不行,有什么变的方案可以达到这个目的呢?

你好,想问重新建立一个和HOST的地址一样的服务器是什么意思呢? 目前我的状况跟你差不多,NAT使用gost直接转发tcp + udp到a.domain.com也一样会报错 请问你的解决方法是在面板里面在创建一个伺服器访问域名填充为NAT机的IP吗? 我刚刚这样试行不通 谢谢!

没事,结果出乎意料地简单,只要在面板里创建伺服器域名寄存NAT位置定位跟供转发的端口开启tls就可以转发了。 谢谢!

你好,请问这个项目如何使用nat建立中转机,我上网搜了中转的教程,看了很多都都不太明白,这项目的v2配置好像和教程里面的不太一样。

看你的想要做的模式是怎麼樣決定線路安排

最簡單的方式則是在GFW內的NAT VPS只需要做端口轉發,不需要裝v2ray、v2-proxy、v2-admin

NAT VPS使用iptables/gost/brook 轉發port至GFW外面的VPS IP:Port即可 例: NAT 公網IP位址為a.b.c.d,使用VPS供應商提供的傳輸埠轉發規則將50000 TCP/UDP port轉發至VPS內網的port,接著再使用iptables/gost/brook設定轉發規則將所有流量送至GWF外的伺服器(僅限https+websocket模式),其餘隧道加密轉發請自行爬文

感謝回覆,iptables / gost / brook我都嘗試過了,都不成功。是否ws+tls模式不支持這種轉發? 你有否嘗試過ws+tls的中轉

shenmirenQUQ avatar Aug 27 '20 02:08 shenmirenQUQ

主机中的ip与admin面板中服务器配置中的- 访问域名的相同不?

不同我重新建立一个和主机的地址一样的服务器,现在可以了。 不过有个新问题,是这样: 目前管理的规则是一个域名只能建立一个服务器,可否同一个域名或IP可以建立多个服务器呢?目的是实现同一个中转机的不同端口可以转发访问不同的VPS。 如果不行,有什么变的方案可以达到这个目的呢?

你好,想问重新建立一个和HOST的地址一样的服务器是什么意思呢? 目前我的状况跟你差不多,NAT使用gost直接转发tcp + udp到a.domain.com也一样会报错 请问你的解决方法是在面板里面在创建一个伺服器访问域名填充为NAT机的IP吗? 我刚刚这样试行不通 谢谢!

没事,结果出乎意料地简单,只要在面板里创建伺服器域名寄存NAT位置定位跟供转发的端口开启tls就可以转发了。 谢谢!

你好,请问这个项目如何使用nat建立中转机,我上网搜了中转的教程,看了很多都都不太明白,这项目的v2配置好像和教程里面的不太一样。

看你的想要做的模式是怎麼樣決定線路安排 最簡單的方式則是在GFW內的NAT VPS只需要做端口轉發,不需要裝v2ray、v2-proxy、v2-admin NAT VPS使用iptables/gost/brook 轉發port至GFW外面的VPS IP:Port即可 例: NAT 公網IP位址為a.b.c.d,使用VPS供應商提供的傳輸埠轉發規則將50000 TCP/UDP port轉發至VPS內網的port,接著再使用iptables/gost/brook設定轉發規則將所有流量送至GWF外的伺服器(僅限https+websocket模式),其餘隧道加密轉發請自行爬文

感謝回覆,iptables / gost / brook我都嘗試過了,都不成功。是否ws+tls模式不支持這種轉發? 你有否嘗試過ws+tls的中轉

我前幾天有回報一個issue但是被關掉了,如果你設定好都沒有問題,其實只要把落地那台VPS的java+v2proxy pkill 重開之後,客戶端要手動開啟V2RayApp的中轉節點設定裡的"允許不安全(AllowInsecure)"才可以轉發成功,你試試看

記得要先確認伺服器列表裡面是否有新建一組中轉伺服器節點的設定, 即新增"中轉節點伺服器"域名填寫IP或是domain name,Port填寫NAT自己設定的公網Port,並選擇開啟SSL,然後更新訂閱

lati0s avatar Aug 27 '20 02:08 lati0s

主机中的ip与admin面板中服务器配置中的- 访问域名的相同不?

不同我重新建立一个和主机的地址一样的服务器,现在可以了。 不过有个新问题,是这样: 目前管理的规则是一个域名只能建立一个服务器,可否同一个域名或IP可以建立多个服务器呢?目的是实现同一个中转机的不同端口可以转发访问不同的VPS。 如果不行,有什么变的方案可以达到这个目的呢?

你好,想问重新建立一个和HOST的地址一样的服务器是什么意思呢? 目前我的状况跟你差不多,NAT使用gost直接转发tcp + udp到a.domain.com也一样会报错 请问你的解决方法是在面板里面在创建一个伺服器访问域名填充为NAT机的IP吗? 我刚刚这样试行不通 谢谢!

没事,结果出乎意料地简单,只要在面板里创建伺服器域名寄存NAT位置定位跟供转发的端口开启tls就可以转发了。 谢谢!

你好,请问这个项目如何使用nat建立中转机,我上网搜了中转的教程,看了很多都都不太明白,这项目的v2配置好像和教程里面的不太一样。

看你的想要做的模式是怎麼樣決定線路安排 最簡單的方式則是在GFW內的NAT VPS只需要做端口轉發,不需要裝v2ray、v2-proxy、v2-admin NAT VPS使用iptables/gost/brook 轉發port至GFW外面的VPS IP:Port即可 例: NAT 公網IP位址為a.b.c.d,使用VPS供應商提供的傳輸埠轉發規則將50000 TCP/UDP port轉發至VPS內網的port,接著再使用iptables/gost/brook設定轉發規則將所有流量送至GWF外的伺服器(僅限https+websocket模式),其餘隧道加密轉發請自行爬文

感謝回覆,iptables / gost / brook我都嘗試過了,都不成功。是否ws+tls模式不支持這種轉發? 你有否嘗試過ws+tls的中轉

我前幾天有回報一個issue但是被關掉了,如果你設定好都沒有問題,其實只要把落地那台VPS的java+v2proxy pkill 重開之後,客戶端要手動開啟V2RayApp的中轉節點設定裡的"允許不安全(AllowInsecure)"才可以轉發成功,你試試看

允許不安全(AllowInsecure)我有打开,落地机也有重启过,轉發的端口應該是443還是62789, 感謝。 "inboundDetour": [ { "listen": "127.0.0.1", "port": 62789, "protocol": "dokodemo-door", "settings": { "address": "127.0.0.1"

shenmirenQUQ avatar Aug 27 '20 03:08 shenmirenQUQ

你這組是中轉機的上面的v2proxy吧 你都用dokodemo是監聽NAT內網的62789,你轉發出去要轉發出去落地機的443 必須要檢查你的NAT Public Port(自行設定規則) 有沒有轉到NAT Internal Port (62789) 然後再設定dokodemo監聽62789並轉發到落地機的443 你有設定NAT公網傳輸埠轉發到內網62789嗎?

lati0s avatar Aug 27 '20 03:08 lati0s

你這組是中轉機的上面的v2proxy吧 你都用dokodemo是監聽NAT內網的62789,你轉發出去要轉發出去落地機的443 必須要檢查你的NAT Public Port(自行設定規則) 有沒有轉到NAT Internal Port (62789) 然後再設定dokodemo監聽62789並轉發到落地機的443 你有設定NAT公網傳輸埠轉發到內網62789嗎?

我整理一下步驟,你幫我看下對不對 1.先在nat轉發落地機的443(用12708端口) 2.在在網頁端新建一個服務器,服務器地址填寫nat公網,端口12708,支持tls-是,其他的不改。 3.手動重啟proxy和java。 4.在客戶端修改服務器地址&端口為nat的,勾選不安全連接。 這樣對嗎

shenmirenQUQ avatar Aug 27 '20 04:08 shenmirenQUQ

NAT端的思緒是不是錯了呢? NAT公網 a.b.c.d並開放"外部"傳輸埠50000(TCP+UDP)轉至"內部"傳輸埠50001(TCP+UDP) NAT設定gost將內部"50001"的TCP+UDP轉送至落地機的443,網頁端伺服器列表新增中轉節點並開啟TLS支援 更新訂閱客戶端中轉節點位址a.b.c.d的中轉機檢查IP跟Port是不是a.b.c.d及50000,再手動開啟允許不安全,確認websocket路徑是否有出現/ws:XXXX/.....,檢查網頁裡中轉伺服器的等級是不是跟落地機一樣(不一樣可能沒辦法連)

連線

lati0s avatar Aug 27 '20 04:08 lati0s

lawrence1751 [email protected]于2020年8月27日 周四上午11:53写道:

你這組是中轉機的上面的v2proxy吧 你都用dokodemo是監聽NAT內網的62789,你轉發出去要轉發出去落地機的443 必須要檢查你的NAT Public Port(自行設定規則) 有沒有轉到NAT Internal Port (62789) 然後再設定dokodemo監聽62789並轉發到落地機的443 你有設定NAT公網傳輸埠轉發到內網62789嗎?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/master-coder-ll/v2ray-web-manager/issues/127#issuecomment-681344164, or unsubscribe https://github.com/notifications/unsubscribe-auth/AH5UTIFI7TGIMBMHPTEXAKLSCXKEPANCNFSM4OBF3GXQ .

我看v2ray的端口是6001,管理端口62789,訪問網頁的端口是443。 所以我只要轉發443的端口就可以了,對嗎

shenmirenQUQ avatar Aug 27 '20 06:08 shenmirenQUQ

管理傳輸埠62789應該是給v2ray-admin自己去處理的,你必須要轉發到443

lati0s avatar Aug 27 '20 06:08 lati0s

NAT端的思绪是不是错了呢? NAT公网abcd并开放“外部”传输埠50000(TCP + UDP)转至“内部”传输埠50001(TCP + UDP) NAT设置gost将内部“ 50001”的TCP + UDP转送至落地机的443,网页端伺服器列表添加中转例程并开启TLS支持 更新订阅客户端中转例程位置abcd的中转机检查IP跟端口是不是abcd及50000,再手动开启不安全,确认websocket路径是否有出现/ ws:XXXX / .....,检查网页里中转伺服器的等级是不是跟落地机一样(不一样可能没办法连)

连线

NAT公网abcd并开放“外部”传输埠50000(TCP + UDP)转至“内部”传输埠50001(TCP + UDP)

因為我的nat沒有給我開放50000传输埠,所以我用的是內部12708轉至外部12708。

/ ws:XXXX /使用的是落地機例程的還是使用中轉例程自動重新生成的, 如果是中轉例程的,可能是我方向一直錯了.... 因為我看別的v2ray中轉教程都是使用落地機的/ ws:XXXX /

shenmirenQUQ avatar Aug 27 '20 06:08 shenmirenQUQ

你可能對NAT端口轉發規則的概念沒有很清楚 流量是從外面進到NAT的外部傳輸埠再轉送進內部傳輸埠再透過軟體(gost)設定內部傳輸埠的流量送到另一個主機的傳輸埠 流量會從NAT的公網IP:12708,依照你自己設定的轉送規則將外部12708這個傳輸埠進來的流量送到內網的12708

注意,內部的12708跟外部的12708是各自獨立的,只是你透過VPS提供給你的自訂規則而自己設定成"外12708"轉內"12708"

你指的外部12708是你落地機的12708嗎?還是你自己NAT的外部12708?

ws路徑直接取用中轉機節點在網頁內生成的就可以了,不需要跳轉到用落地機的ws路徑

lati0s avatar Aug 27 '20 06:08 lati0s

lawrence1751 [email protected]于2020年8月27日 周四下午2:40写道:

你可能對NAT端口轉發規則的概念沒有很清楚 流量是從外面進到NAT的外部傳輸埠再轉送進內部傳輸埠再透過軟體(gost)設定內部傳輸埠的流量送到另一個主機的傳輸埠 流量會從NAT的公網IP:12708,依照你自己設定的轉送規則將外部12708這個傳輸埠進來的流量送到內網的12708

注意,內部的12708跟外部的12708是各自獨立的,只是你透過VPS提供給你的自訂規則而自己設定成"外12708"轉內"12708"

你指的外部12708是你落地機的12708嗎?還是你自己NAT的外部12708?

ws路徑直接取用中轉機節點在網頁內生成的就可以了,不需要跳轉到用落地機的ws路徑

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/master-coder-ll/v2ray-web-manager/issues/127#issuecomment-681624970, or unsubscribe https://github.com/notifications/unsubscribe-auth/AH5UTIB2JDWHAZYIHXR4ZLTSCX5VHANCNFSM4OBF3GXQ .

12708指的是nat供应商分配给我的傳輸埠 我的可用的外部傳輸埠只有12708-12719

shenmirenQUQ avatar Aug 27 '20 06:08 shenmirenQUQ

如果NAT傳輸埠轉送規則有設定好 外12708>轉至內12708 gost設定將內部12708(TCP+UDP)轉送至你另一個落地機的443即可

lati0s avatar Aug 27 '20 06:08 lati0s

lawrence1751 [email protected]于2020年8月27日 周四下午2:54写道:

如果NAT傳輸埠轉送規則有設定好 外12708>轉至內12708 gost設定將內部12708(TCP+UDP)轉送至你另一個落地機的443即可

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/master-coder-ll/v2ray-web-manager/issues/127#issuecomment-681636500, or unsubscribe https://github.com/notifications/unsubscribe-auth/AH5UTIBSOXGCIJPUIU6TNMTSCX7IZANCNFSM4OBF3GXQ .

對,我使用了規則設定好外12708>轉至內12708 也使用了軟件設定1708>443, 連不上的原因可能是因為我之前沒有設置新例程, 也沒有使用中轉例程的/ws/xxxx, 今晚回家再重新試下。 感謝你的耐心回覆。

shenmirenQUQ avatar Aug 27 '20 07:08 shenmirenQUQ

如果NAT傳輸埠轉送規則有設定好 外12708>轉至內12708 gost設定將內部12708(TCP+UDP)轉送至你另一個落地機的443即可

使用brook已经成功中转, 再次感谢耐心回复

shenmirenQUQ avatar Aug 27 '20 11:08 shenmirenQUQ