生命不息,奋斗不止/创造价值-传递价值-获得价值
所谓迷茫,就是才华配不上梦想 每一个让你难堪的现在,都有一个不够努力的曾经

内网穿透工具:nps-npc + 宝塔Nginx配合使用,实现局域网端口代理_宝塔nps

目的

因为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

#.... 剩余的这个任务里面不需要改

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;
    }
}

赞(0)
未经允许不得转载:jack361博客 » 内网穿透工具:nps-npc + 宝塔Nginx配合使用,实现局域网端口代理_宝塔nps

如果你爱我或恨我,请↓

联系我