并非为了教学,仅供自己记录,方便下次用。所以内容不会刻意花时间写的很细节详细。
1. 服务器NPS配置
NPS install安装后,配置文件会在其他位置,通过是
/etc/nps/nps.conf
目录。
找到进行修改,主要修改的是http_proxy_port
和https_proxy_port
,它们使用的端口是80和443,肯定是和Nginx冲突的,所以先去掉冲突,才能让两个程序同时运行。
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
#.... 剩余的这个任务里面不需要改
2. 宝塔面板内修改站点对应的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服务
}
}
如果复制后有错误,请去掉 #以及后面的注释
如需使用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;
}
}
当然也可以通过宝塔面板本身的反向代理来进行操作。