在路由器上设置端口转发
注意事项
- 在使用端口转发的时候,尽量不要用XXX0(如8000,8080端口)端口,有不小概率会有冲突(如路由器内部保留端口可能会跟实际设定的端口有冲突)。改为使用8001,8081这样子。
- TL-R473G默认占用了8080端口作为认证服务端口(且自行修改后依然无效,目前猜测是固件问题导致,时间问题,就自我先规避该端口了)
- 确保防火墙(路由器,服务器)已经允许设定的端口,可以通过手机(4G网络下),直接根据“IP:端口”的形式来测试是否对外暴露成功。
- 不要在同一局域网内进行测试,不少路由器和光猫回源有问题,尤其是电信的光猫,让师傅上门过几次,都表示无解,无法设定,硬件上做限制了。
配置:
http 80端口映射
配置文件:
upstream pre_xxx_api {
server 111.222.333.444:8081; #设定具体的公司公网ip跟对应端口转发的端口号
}
server {
listen 80;
server_name pre-xxx-api.XXYY.com;
location / {
index index.html index.htm;
proxy_pass http://pre_xxx_api/;
}
}
- wq保存退出-->nginx -t -->nginx -s reload-->查看结果
https 443端口映射
配置文件:
upstream pre_ssl_api {
server 111.222.333.444:8081;
}
server {
listen 443 ssl; # 这里很重要,网上资料复制粘贴太严重了,在设定https的时候,listen端口的时候,务必在443后面加上"ssl",否则chrome会报"ERR_SSL_PROTOCOL_ERROR"的错误
server_name pre-ssl-api.XXYY.com;
ssl_certificate /usr/local/etc/nginx/ssl-key/XXX.pem;
ssl_certificate_key /usr/local/etc/nginx/ssl-key/YYY.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {
index index.html index.htm;
proxy_pass http://pre_ssl_api/;
}
}
- wq保存退出-->nginx -t -->nginx -s reload-->查看结果