前几天搭了一个论坛处事器并放到了公司的局域网内里,论坛用的是9066端口并在路由器上面做了个端口转发,并且把bbs.xxx.com这个域名也指向了公司的公网IP,因为想让用户在会见的时候不消输入端标语于是就想在公司的web处事器上面做个跳转,将会见bbs.xxx.com的请求都转到他的处事器上面去。我第一个想法就是 用 nginx的rewrite,进程很简朴 设置如下:
server {listen 80;server_name bbs.xxx.com;rewrite "^/(.*)$" http://bbs.xxx.com:9066/$1 break;}
序列号 | CPU | RAM | HDD | 带宽 | 售价(美元) | 免费试用 |
---|---|---|---|---|---|---|
香港服务器1 | E5-2620 | 32G | 1T HDD | 50M/无限流量 | $196.00 | 立即申请 |
香港服务器2 | E5-2650 | 32G | 1T HDD | 50M/无限流量 | $256.00 | 立即申请 |
香港服务器3 | E5-2680 | 32G | 1T HDD | 50M/无限流量 | $316.00 | 立即申请 |
香港服务器4 | E5-2690 | 32G | 1T HDD | 50M/无限流量 | $336.00 | 立即申请 |
香港服务器5 | E5-2697 | 32G | 1T HDD | 50M/无限流量 | $376.00 | 立即申请 |
香港服务器6 | E5-2620*2 | 32G | 1T HDD | 50M/无限流量 | $376.00 | 立即申请 |
香港服务器7 | E5-2650*2 | 32G | 1T HDD | 50M/无限流量 | $436.00 | 立即申请 |
香港服务器8 | E5-2680*2 | 32G | 1T HDD | 50M/无限流量 | $476.00 | 立即申请 |
香港服务器9 | E5-2690*2 | 32G | 1T HDD | 50M/无限流量 | $556.00 | 立即申请 |
香港服务器10 | E5-2697*2 | 32G | 1T HDD | 50M/无限流量 | $596.00 | 立即申请 |
香港服务器11 | E5-2680v4*2 | 32G | 1T HDD | 50M/无限流量 | $696.00 | 立即申请 |
香港服务器12 | E5-2698v4*2 | 32G | 1T HDD | 50M/无限流量 | $796.00 | 立即申请 |
于是会见bbs.xxx.com查抄了一下,注册,登录发帖等等操纵都正常,本觉得这样就ok了,功效随后问题呈现了,固然能正常的跳转可是 用户欣赏器的域名栏上的地点后头一直随着 9066 这个端标语,这让率领很不满足,于是我找了下nginx的文档和在qq群问了下此外伴侣,没有什么好步伐。于是就改用了 proxy_pass,这个设置也很简朴:
server {listen 80;server_name bbs.xxx.com; location / { proxy_pass http://bbs.xxx.com:9066/; } }
然后再会见 bbs.xxx.com 后头的端标语就不在了,注册、登录、发帖都正常,但是纷歧会儿又出问题了,用户反应论坛无法注册,提示说“单一ip一天内只能注册5次”,这是怎么回事,,通过查抄日志后发明 所有公网发过来的请求竟然都是 网关的ip地点 ,这下我大白了简朴的加了proxy今后假如不进一步配置的话 nginx是不会去判定真正的客户端ip的,而是直接把路由的地点作为请求ip,所以会呈现上述环境,阐明后查了下 nginx的wiki 于是就在上面又加了几条:
server {listen 80;server_name bbs.xxx.com; location / { proxy_set_header Host $host; proxy_set_header X-Real-Ip $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http://bbs.xxx.com:9066/; } }
改完今后 reload 了一下nginx,发嫡志内里的源ip已经是真实的客户端地点了,从头注册,登录,发帖,都正常,反复了多次后没有发明问题,客户哪里也都正常了。
感激为我提供热情辅佐的三门板牙。