Wong's Blog

Always on the way forward
  1. 首页
  2. Linux
  3. 正文

内网穿透代理NPS和NGINX的和谐共处

2024 年 7 月 17 日 373点热度 4条评论

NPS是一款轻量级、高性能、功能强大的内网穿透代理服务器,几乎支持所有协议,支持内网http代理、内网socks5代理、p2p等,简洁但功能强大的WEB管理界面,支持服务端、客户端同时控制,扩展功能强大,全平台兼容.

  • 官方网址 https://github.com/ehang-io/nps

但是NGINX已经占用了443端口,以下方法可以让NPS和NGINX都能用到443端口.

  • 每次修改完nginx.conf和npss.conf文件都要重启nginx,命令:systemctl restart nginx
  • 每次修改完nps.conf文件都要重启nps,命令:nps restart

1. 安装NPS

#创建nps工作目录并进入
mkdir  /home/nps
cd /home/nps
#下载服务端程序
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz
#解压
tar -xf linux_amd64_server.tar.gz
#安装
./nps install

2. 配置nps.conf文件

**
**
#HTTP(S) proxy port, no startup if empty
http_proxy_ip=0.0.0.0
http_proxy_port=7780  /*为了不和nginx的80端口冲突,此处修改为7780端口*/
#https_proxy_port=7443
#https_just_proxy=true
#default https certificate setting
#https_default_cert_file=conf/server.pem
#https_default_key_file=conf/server.key
**
**
# if web under proxy use sub path. like http://host/nps need this.
web_base_url=/nps      /*配合nginx的location*/
**
**

3. nginx配置文件

server {
        listen 443 ssl;
        
        server_name aa.bb.com;
        ssl_certificate       /home/cert/**.pem;
        ssl_certificate_key   /home/cert/**.key;
        **
        **
        location /nps {
            proxy_redirect off;
            proxy_pass http://127.0.0.1:8080;   /*访问http://ip/nps,会跳转到127.0.0.1:8080(web界面)*/
            proxy_http_version 1.1;
            proxy_set_header Host $host;
        }
       **
       **
       include /etc/nps/conf/npss.conf;    /*另外添加一个nps的配置*/    
       }

4. 至此,nps的web界面已经可以打开,打开网址为第三步的https://aa.bb.com/nps,在web界面新建客户端.

备注:可留空
认证用户名:可留空
认证密码:可留空
验证密钥: 系统随机
允许***,压缩,加密:是

生成客户端后,点击客户端前面的+号,有客户端命令,在内网的客户端用此命令启动nps_client.稍等一会,客户端界面会显示此客户端已经在线.至此,客户端和服务器端连接成功.

5. 访问内网的web服务器.

①.修改npss.conf配置文件

server {
 listen 80;
 server_name openwrt.bb.com;
 return 301 https://$host$request_uri;
}
server {
 listen 443 ssl http2;
 server_name openwrt.bb.com;
 ssl_certificate /home/cert/**.pem;
 ssl_certificate_key /home/cert/**.key;
 location / {
 proxy_pass http://127.0.0.1:7780;     /*nginx的流量转到7780端口(nps的代理端口)
 proxy_redirect http://$host/ http://$http_host/;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header Host $host;
}
}

②.在NPS的web界面添加域名解析.

新增域名解析:
客户端ID:第四部创建客户端后,系统会分配一个ID
主机:openwrt.bb.com   /*和第五步的①中的server_name对应*/
模式:http
目标:IP:端口    /*内网web服务器的IP及访问端口*/

6. 现在可用https://openwrt.bb.com访问内网web服务器.

网络流程图:

标签: 暂无
最后更新:2024 年 7 月 18 日

wong

这个人很懒,什么都没留下

点赞
< 上一篇

文章评论

  • finasteride and minoxadil hair regrowth

    <a href=https://propecia2buy.top/>propecia results</a> J Am Coll Cardiol Img 6 1141 1151

    2025 年 3 月 10 日
    回复
  • zoritoler imol

    I like this weblog very much, Its a real nice position to read and receive info .

    2025 年 3 月 11 日
    回复
  • vorbelutrioperbir

    Hi my loved one! I wish to say that this post is awesome, great written and come with almost all important infos. I¦d like to look extra posts like this .

    2025 年 3 月 31 日
    回复
  • droversointeru

    There's noticeably a bundle to know about this. I assume you made sure nice factors in options also.

    2025 年 4 月 2 日
    回复
  • razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    取消回复
    • Linux / 6篇
    • Macos / 7篇
    • Windows / 9篇
    • 其他 / 9篇

    在路上 | 2024