这里是文章模块栏目内容页
内网穿透代理NPS服务器端怎么设置与Nginx配合工作

内网穿透代理nps服务器端怎么设置与nginx配合工作


本文介绍的这款内网代理工具名字叫nps,百度百科对这款工具的描述是:NPS 是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持 tcp、udp 流量转发,可支持任何 tcp、udp 上层协议(访问内网网站、本地支付接口调试、ssh 访问...

软件类型:代理服务器软件...|授权协议:GPL 3.0|开发语言:Google Go。


这款内网穿透代理服务器端配置简单。下面描述主要流程步骤,都是必须要做的步骤,作为配置参考。

首先从官网下载服务器端的安装包: https://github.com/ehang-io/nps/releases

1、下载linux服务器端的包linux_amd64_server.tar.gz

解压 tar zxf linux_amd64_server.tar.gz

执行安装命令

对于linux|darwin sudo ./nps install

对于windows,管理员身份运行cmd,进入安装目录 nps.exe install

在linux环境配置文件在 /etc/conf 目录下的nps.conf文件;

启动 sudo ./nps start


查看conf文件 的内容。以下两个值的配置是和nginx 运行有冲突的。

http_proxy_port=80

https_proxy_port=443


要让nps和nginx 一起不冲突的工作。还要让nginx做网站服务器使用监听80端口,必须要修改这两个值。

让nginx 在整个服务器环境的最前端。毕竟nginx是性能最好的代理服务器。它监听80端口,再转发

请求到nps上,让nps代理穿透其他内网端口。这样,不需要内网代理的网站服务,通过nginx 正常工作;

与nginx配合

有时候我们还需要在云服务器上运行nginx来保证静态文件缓存等,本代理可和nginx配合使用,在配置文件中将httpProxyPort设置为非80端口,并在nginx中配置代理,例如httpProxyPort为8010时

server {
    listen 80;
    server_name *.proxy.com;
    location / {
        proxy_set_header Host  $http_host;
        proxy_pass http://127.0.0.1:8010;
    }
}

如需使用https也可在nginx监听443端口并配置ssl,并将本代理的httpsProxyPort设置为空关闭https即可,例如httpProxyPort为8020时

server {
    listen 443;
    server_name *.proxy.com;
    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;
    location / {
        proxy_set_header Host  $http_host;
        proxy_pass http://127.0.0.1:8020;
    }
}

好了,本文全部内容完毕,感谢您的阅读,希望能帮助到您。