需求,公司内网多个二级域名带端口号,领导要求做反向代理隐藏端口号。
1、下载安装Nginx
http://nginx.org/en/download.html 下载解压后,双击Nginx.exe安装,安装界面一闪而过。
Nginx默认监听80端口。如遇到80端口被占用,无法安装。可修改配置文件nginx.conf,用其他端口启动。
server {
listen 8001; -- 修改为8001端口,启动后监听8001端口
server_name www.abc.com; }
2.检查nginx是否启动成功
直接在浏览器地址栏输入网址 http://localhost:80,回车,出现以下页面说明启动成功
也可在cmd命令窗口输入命令 tasklist /fi "imagename eq nginx.exe" ,出现如下结果说明启动成功
如果服务器可以访问,外网无法访问,可能是80端口被禁用,需要在防火墙里添加80端口允许出站的规则。如果是nginx服务器监听的端口需要映射到外网的某个端口,需要注意外网80,8080端口可能被运营商屏蔽,无法使用。而且要注意6666等端口号被内核为chorme的浏览器所屏蔽,要避开相关的端口号。具体可参考:ERR_UNSAFE_PORT解决以及所有非安全端口_wzwsq的博客-CSDN博客_err_unsafe_port
3、修改配置文件
先检查80端口是否被占用netstat -ano | findstr 0.0.0.0:80如果没有,则可以在conf文件下修改nginx.config文件
server {
listen 80; --需要监听的端口
server_name www.abc.com; --需要跳转的的域名
location / {
proxy_pass http://127.0.0.1:8080/; --跳转到实际的域名所对应的服务器IP地址
proxy_set_header Host $host:$server_port;
--$server_port指跳转的实际端口号相当于8080,当跳转同一ip的多个端口号时,需要直接指定写为proxy_set_header Host $host:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
修改配置文件后需要重启nginx服务:nginx -s reload
4、关闭nginx服务
当需要关闭nginx服务的时候,可使用两种方法关闭nginx
(1)输入nginx命令 nginx -s stop(快速停止nginx) 或 nginx -s quit(完整有序的停止nginx)
(2)使用taskkill taskkill /f /t /im nginx.exe