通过nginx连接套接字

时间:2011-02-11 12:15:16

标签: python sockets proxy nginx vpn

我有一个生产服务器,它有一个nginx服务器来处理与多个服务的连接。在只能通过生产服务器的VPN看到的其他机器上,我有一个开发服务器,用于测试某些网络应用程序。

我想从互联网上获取为开发机器提供的服务,因此我需要将流量转发到开发服务器

1.-使用套接字连接到a.domain.com(端口7081)的客户端请求

2.- nginx必须转发此内容,我有以下代码

注意:a.domain.com的VPN接口为10.8.0.1

server {
    listen       7081;
    server_name  a.domain.com;
    location / {
        proxy_pass http://10.8.0.210:7081;
        proxy_set_header  X-Real-IP  $remote_addr;
    }
}

3.-在开发服务器(10.8.0.210)中,我在端口7081中有一个服务列表。

来自客户端的套接字连接返回以下内容

<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx/0.6.35</center>
</body>
</html>

4. a-domain.com上的nginx服务器记录了以下内容

XXX.XXX.XX.XX - - [11/Feb/2011:08:58:10 -0300] "-" 400 173 "-" "-"

任何想法

谢谢

1 个答案:

答案 0 :(得分:1)

错误请求 - 表示它不是http请求 Nginx只能代理http / smtp / pop3 / imap协议。

如果您想要代理其他任何内容,您必须在iptables中使用例如DNAT