nginx 运维端口转发 非80端口如何配置
/问题:nginx做反向代理时,比如后端有几台监听1080端口的web服务器,此时要用访问80端口,该怎么办呢?
这是在公司项目的时候,遇到的一个问题。由于云计算的服务器上,租户的权限有限,不能监听小于1024的端口,另外也是为了安全。
办法是,前端用nginx监听80端口,然后转发至后台的服务器上,只需要配置一个upstream加一个端口监听转发即可。
upstream yourwebsite {
server 10.10.10.10:1080 weight=5;
}
server {
listen 80;
server_name li5jun.com www.li5jun.com;
ssi on;
location / {
proxy_set_header X-Forwarded-For $http_x_frowarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_pass http://yourwebsite;
client_max_body_size 100m; #允许客户端请求的最大单文件字节数
proxy_connect_timeout 300; #nginx跟后端服务器连接超时时间(代理连接超时)
proxy_send_timeout 300; #后端服务器数据回传时间(代理发送超时)
proxy_read_timeout 300; #连接成功后,后端服务器响应时间(代理接收超时)
}
error_page 404 /system/404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
这样子,通过访问这台代理机,后台即可正常的访问,就如同访问80端口一样。
还可以iptable 转发