目的
因为NPS工具默认会占用80、443端口,会导致NPS与Nginx之间只能启用一个,如果想同时使用,就需要另行配置。这里我们说道如何配置才能同时使用的方法:
NPS配置
NPS安装参考这篇文章:NPS安装教程
下载NPS解压后,进入到配置文件目录,找到nps.conf配置文件。这里主要修改的是http_proxy_port和https_proxy_port:
appname = nps
#Boot mode(dev|pro)
runmode = dev
#HTTP(S) proxy port, no startup if empty
http_proxy_ip=0.0.0.0
http_proxy_port=85 #主要修改1:不要占用80端口
#https_proxy_port=443 #主要修改2:不要占用443端口,直接注释
https_just_proxy=false
#default https certificate setting
https_default_cert_file=conf/pro.metarouse.net/Nginx/server.pem
https_default_key_file=conf/pro.metarouse.net/Nginx/server.key
#.... 剩余的这个任务里面不需要改
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
NGINX配置
找到配置文件的修改地方后,进行配置的修改,目标是让流量从Nginx直接到NPS中。
通过是需要在云服务器上运行nginx来保证静态文件缓存等,在上述重NPS的配置文件中将httpProxyPort设置为85端口(看上文配置),那么在在Nginx中配置如下:
server {
listen 80;
server_name pro.metarouse.net; #1. 需要换成你的域名
location / {
proxy_set_header Host $host:$proxy_port; #Host和端口都加上
proxy_pass http://127.0.0.1:85; #85即是NPS的端口,这里意思就是有人访问了 pro.metarouse.net:80,然后直接就转到本地NPS 85服务
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
如需使用https也可在nginx监听443端口并配置ssl,并将通上面NPS配置描述的httpsProxyPort设置为空,关闭NPS的HTTPS即可。然后和Http一样,进行路由,并且开启Https。
你的配置和我的可能不完全一样,大部分还是默认宝塔自己默认的就行
server {
listen 443 ssl http2;
server_name pro.metarouse.net;
ssl on;
ssl_certificate certificate.crt;
ssl_certificate_key private.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
#主要就是下面了,其实上面那些都是我这边默认的,而这里和Http的其实一摸一样
location / {
proxy_set_header Host $host:$proxy_port;
proxy_pass http://127.0.0.1:85;
}
}