我有一个生产服务器,它有一个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 "-" "-"
任何想法
谢谢
答案 0 :(得分:1)
错误请求 - 表示它不是http请求 Nginx只能代理http / smtp / pop3 / imap协议。
如果您想要代理其他任何内容,您必须在iptables中使用例如DNAT