NPS内网穿透+NPM反向代理
迁移一下文章到当前博客,记录下使用群晖nas搭建内外穿透的方案。
方案采用云服务器挂载nps内网穿透和npm反向代理,代理内网网站和服务。
一、泛域名解析
申请购买-自己的域名 备案 + 等待 周期大概15天左右。
域名可以在腾讯或者阿里云等申请购买-搞便宜的就好
注意
域名到期后不续费,记得申请注销掉域名主体,避免非法分子利用域名做非法勾当。
然后在域名后添加DNS解析 * 代表了泛解析 ,二级域名随便写。 ark.
[megestu.top]
(http://ark.megestu.top) ark. 就是二级域名啦
二、服务器安装docker和docker-compose
这一步-直接使用docker镜像服务器-或者自己使用Linux系统安装也可以,
我自己使用DockerUbuntu 20.01 LTS
,免去部署docker的环节。
使用官方安装脚本自动安装docker
curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh
安装完成,输入命令 查看版本
docker --vrsion
接着安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.6.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
安装完成,输入命令 查看版本
docker-compose --version
三、为docker安装可视化Portainer面板
# 下载镜像
docker pull portainer/portainer
# 运行portainerUI图形界面
# -d后台运行 --name 命名 -p 端口映射(需要确认端口号是开放的) -v挂载
docker run -d --restart=always --name portainerUI -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
通过服务器ip:9000进入DOCKER面板
四、安装NPS内网穿透面板
nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。
项目地址: https://github.com/ehang-io/nps
回到根目录
cd
创建nps文件夹
mkdir nps
进入nps文件夹
cd nps
下载压缩包
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz
解压包
tar -zxvf linux_amd64_server.tar.gz
进入配置文件夹conf
cd conf
编辑配置文件
vi nps.conf
将里面的80和443修改为8080和4443
在下方也可以指定web端口和账号密码-我这里改成了8081
退回到/nps 目录-执行安装
sudo ./nps install
启动NSP
sudo nps start
五、安装Nginx Proxy Manager反向代理
进入Nginx Proxy Manager官网,获取docker-compose.yml配置文件
https://nginxproxymanager.com/
中文版本
https://github.com/goodmen001/nginx-proxy-manager-zh?tab=readme-ov-file
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
这里面的80:80,指的是-本地端口:容器端口;服务器中的防火墙80 、 443是默认开放的。建议本地端口改为不冲突的端口。 映射路径最好改为自建的路径 如果使用的有家庭公网IP,需要修改下端口,因为家庭宽宽公网IP封了80和443端口,那么以上代码端口号部分需要修改.
打开Portainer面板,进行安装Nginx Proxy Manager
通过<服务器IP>:81
进入npm后台进行基本的配置;
初始npm的账号密码
Email: admin@example.com
Password: changeme
六、内网穿透-Nas端
通过服务器IP:8081端口进入NPS后台
1.新增客户端
增加完成后 复制其中服务器地址 和 密钥,客户端进行连接后-后这里的状态就会显示为在线。
到群晖套件中心
安装NPS的客户端。
输入服务器地址 和 密钥 然后保存即可。
2.内网穿透TCP隧道
➕新增
建立完成隧道后就去npm 进行反向代理并给个二级域名
3.npm反向代理
改完密码后-就新建代理
强制SSL就行了 、HTTP/2 建议不要开-不然注册不了。
注
注意一下:每个二级域名网页都需要单独申请SSL证书