Proxy nginx上游的socks5代理/隧道?

Proxy nginx上游的socks5代理/隧道?,proxy,nginx,socks,tunnel,Proxy,Nginx,Socks,Tunnel,是否有任何解决方案/补丁可以使nginx与socks上游协同工作 大概是这样的: server { location / { proxy_pass socks5://ip:port/ } } SOCKS是第5层,HTTP是第7层。HTTP代理无法处理SOCKS,尽管HTTP代理可以在SOCKS上工作。我不清楚如果Nginx能够连接到SOCKS服务器,您希望它对响应做什么。这类似于询问Nginx是否可以连接到NetBIOS或PTPP 假设您正试图将Nginx代理连接到另一个只能

是否有任何解决方案/补丁可以使nginx与socks上游协同工作

大概是这样的:

server {
  location / {
    proxy_pass  socks5://ip:port/
  }
}

SOCKS是第5层,HTTP是第7层。HTTP代理无法处理SOCKS,尽管HTTP代理可以在SOCKS上工作。我不清楚如果Nginx能够连接到SOCKS服务器,您希望它对响应做什么。这类似于询问Nginx是否可以连接到NetBIOS或PTPP

假设您正试图将Nginx代理连接到另一个只能通过SOCKS访问的HTTP服务器,则需要将其设置为操作系统上网络堆栈的一部分

也许此链接可以帮助您:


我最近写了一篇文章,完全是为了满足你的需要。您可能需要类似于nginx之前的东西来支持TLS隧道。

是的,这是我的观点,而不是设置另一个socks5代理(与nginx相比,它的性能很差),为什么nginx不能直接处理socks5(客户端请求URL,nginx通过socks5检索URL。就这么简单)我不清楚你认为“袜子”在你的描述中的位置。这是您必须在操作系统中配置的内容。完成后,您可以简单地告诉Nginx将proxy_pass发送到(取决于您的SOCKS设置),它将工作。localhost:8080性能将与Nginx不匹配。你不能在高带宽的网站上使用这种方法。我不会用袜子做高带宽的网站。也就是说,SOCKS是一个网络接口,所以你必须将其视为一个网络接口。期待这样的功能是完全正确的,你可以用nginx->delegate->sock5轻松实现它。那么,为什么不能通过nginx插件来实现呢?