提示:
实现效果 随时更换服务器
访问 proxy.域名.com 打开后台管理页面
访问 a. proxy.域名.com 打开代理的页面
访问 例外网址.域名.com 打开例外的一个内网穿透的端口
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
全域名优点是如果服务器过期或者IP发生变化 只需要重新部署服务端 改变域名映射即可 不担心客户端配置修改
提示:使用版本1panel v1.10.26-lts neutrino-proxy版本 2.0.2
一、neutrino-proxy是什么?
- 中微子代理(neutrino-proxy)是一个基于netty的、开源的java内网穿透项目。
- 技术栈:Solon、MybatisPlus、Netty
- 官网地址:https://neutrino-proxy.dromara.org
- GIT地址 : https://gitee.com/dromara/neutrino-proxy
二、1panel是什么?
- 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。
- 技术栈:
- 官网地址:https://1panel.cn/
- GIT地址 : https://github.com/1Panel-dev/1Panel
步骤
2. 安装1Panel管理面板
第一步:安装 docker
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)
第二步:安装 1Panel
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh
第三步:打开1Panel 安装对应的软件
1安装
OpenResty 可以理解为Nginx的增强版
2安装
Mysql数据库
1. 配置域名与服务器映射 添加一个泛域名以及一个管理后台域名映射
(示例): *.proxy 作为穿透服务使用 proxy 作为服务器管理端使用
2. 安装neutrino-proxy
1 在数据库中选中mysql点击创建数据库
名称 : neutrino-proxy
用户名 : neutrino-proxy
密码 : wmHHrJFsRBEzTyZf
2 先在服务器中创建配置文件 路径无所谓 随意创建就行
创建文件 /home/software/neutrino-proxy/config/app.yml
注意:上一步修改了数据库密码 记得这个地方也要改一下
server:
# 服务端web端口,用于支持HTTP接口,管理后台页面访问 默认 8888
port: 30003
neutrino:
proxy:
tunnel:
# 隧道非SSL端口 默认9000
port: 30000
# 隧道SSL端口默认 9002
ssl-port: 30002
server:
tcp:
# http代理端口,默认80(不配置不支持)
http-proxy-port: 30004
# https代理端口,默认443 (不配置不支持,同时需要配置域名、证书)
https-proxy-port: 30005
data:
db:
type: mysql
url: jdbc:mysql://127.0.0.1:3306/neutrino-proxy
username: neutrino-proxy
password: wmHHrJFsRBEzTyZf
3.安装neutrino-proxy
1点击容器 点击创建容器 填入一下信息
所填写内容 然后点击确定 等待安装完成
容器名称: neutrino-proxy-server
镜像地址: aoshiguchen/neutrino-proxy-server:2.0.2
端口要选择全部暴露 网路选择host
挂载: 这个就是刚才新建的app.yml的目录
/home/software/neutrino-proxy/config
容器目录: 这个来源于neutrino-proxy文档 这个是固定的必须是这个
/root/neutrino-proxy/config
配置网站
点击网站 选择创建网站 选择静态网站
主域名填写
proxy.xxxxxxxxxxx.com
其他域名填写泛域名以及其他例外域名
例如我需要给abc.com映射到内网穿透的8080代理上可以写在这里
点击确定
点击网站 点击配置文件 修改以下2处
这个配置的作用就是把proxy.xxxx.com 映射到http://127.0.0.1:30003 端口 如果是*.xx.com则映射到默认端口上
map $http_host $backend {
default http://127.0.0.1:30004;
proxy.xxxx.com http://127.0.0.1:30003;
abc.xxxx.com http://127.0.0.1:31501;
}
location / {
proxy_pass $backend;
tcp_nodelay on;
}
点击保存重载即可
如果需要配置HTTPS证书 那就点击网站基本 https根据提示开启就行
访问 proxy.xxxx.com 即可打开管理后台 点击域名管理 添加 proxy.xxxx.com
客户端使用
代码如下(示例):
客户端Docker用法 修改参数 SERVER_IP 改成 proxy.xxxx.com LICENSE_KEY 就是代理的LICENS
docker run -it -d --restart=always --net=host --name npclient -e SERVER_IP=proxy.xxxx.com -e SERVER_PORT=30002 -e LICENSE_KEY=xxxx aoshiguchen/neutrino-proxy-client:2.0.2
客户端Docker配合配置文件 这个是客户端的配置文件不是服务器的配置文件
docker run -it -d --restart=always --net=host --name neutrino-proxy-server -v /home/software/neutrino-proxy/config:/root/neutrino-proxy/config aoshiguchen/neutrino-proxy-server:2.0.2
neutrino:
proxy:
tunnel:
server-ip: proxy.xxxx.com
server-port: 30002
ssl-enable: true
license-key: 这里填写申请到的秘钥
原生客户端 只需要把这个app.yml配置放到与客户端同一个目录即可