实现效果 随时更换服务器
访问 proxy.域名.com 打开后台管理页面
访问 a. proxy.域名.com 打开代理的页面
访问 例外网址.域名.com 打开例外的一个内网穿透的端口

服务端部署
在 /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  全部使用nginx配置 不走内网穿透中的https功能
        https-proxy-port: 30005
  data:
    db:
      type: mysql
      url: jdbc:mysql://数据库地址:3306/数据库名称
      username: mysql数据库账户
      password: mysql数据库密码

运行dokcer命令

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

或者使用1panel部署 重启策略啥的自己选一下无所谓
在这里插入图片描述

nginx 配置
例外域名是指 比如我穿透31501端口 但是我想abc.b.com访问到他 其他的继续走我们的规则就好了
30004 为配置文件中的http代理端口
30003 为管理端口
31501 为内网穿透的某个特殊服务

在1panel 中的网站管理 选择创建网站-静态网站 主域名中填写 proxy.域名.com 其他域名中填写 *.proxy.域名.com 以及例外域名
保存网站后 打开这个网站的配置文件
在第一行新增


map $http_host $backend {
    default http://127.0.0.1:30004; 
    proxy.域名.com http://127.0.0.1:30003; 
    例外网址.域名.com http://127.0.0.1:31501; 
}

在server块中新增

location / {
        proxy_pass $backend; 
        tcp_nodelay on; 
    }

示例 :


map $http_host $backend {
    default http://127.0.0.1:30004; 
    proxy.域名.com http://127.0.0.1:30003; 
    例外网址.域名.com http://127.0.0.1:31501; 
}

server {
    listen 80 ; 
    listen 443 ssl http2 ; 
    server_name proxy.域名.com *.proxy.域名.com 例外网址.域名.com; 
    index index.php index.html index.htm default.php default.htm default.html; 
    proxy_set_header Host $host; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header X-Forwarded-Host $server_name; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection $http_connection; 
    location / {
        proxy_pass $backend; 
        tcp_nodelay on; 
    }
    root /www/sites/proxy.域名.com/index; 
   
    add_header Strict-Transport-Security "max-age=31536000"; 
    error_page 497 https://$host$request_uri; 
    proxy_set_header X-Forwarded-Proto https; 
}

客户端配置文件
在客户端.exe同目录下 新建 app.yml 内容如下


neutrino:
  proxy:
    tunnel:
      server-ip: proxy.域名.com
      server-port: 30002
      ssl-enable: true
      license-key: 这里填写申请到的秘钥
      

客户端docker形式运行

docker run -it -d --restart=always --net=host --name npclient -e SERVER_IP=proxy.域名.com -e SERVER_PORT=30002  -e LICENSE_KEY=xxxx aoshiguchen/neutrino-proxy-client:2.0.2

客户端exe形式运行

把刚才新建的客户端 app.yml保存到exe同目录中双击运行即可
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐