diff --git a/neutrino-proxy-vuepress/docs/.vuepress/public/img/logo-0.75x.png b/neutrino-proxy-vuepress/docs/.vuepress/public/img/logo-0.75x.png new file mode 100755 index 00000000..de120681 Binary files /dev/null and b/neutrino-proxy-vuepress/docs/.vuepress/public/img/logo-0.75x.png differ diff --git a/neutrino-proxy-vuepress/docs/01.使用教程/01.开始使用/01.快速上手.md b/neutrino-proxy-vuepress/docs/01.使用教程/01.开始使用/01.快速上手.md index 1ce6b306..7e7ef65d 100644 --- a/neutrino-proxy-vuepress/docs/01.使用教程/01.开始使用/01.快速上手.md +++ b/neutrino-proxy-vuepress/docs/01.使用教程/01.开始使用/01.快速上手.md @@ -7,7 +7,7 @@ article: false ## 1、 部署服务端 ### 1.1、 Docker一键部署 -> 当前最新版本为1.8.0,下面的脚本中,可以使用:`registry.cn-hangzhou.aliyuncs.com/asgc/neutrino-proxy:1.8.0` 指定版本安装,推荐使用`latest`直接安装最新版。 +> 当前最新版本为1.8.2,下面的脚本中,可以使用:`registry.cn-hangzhou.aliyuncs.com/asgc/neutrino-proxy:1.8.2` 指定版本安装,推荐使用`latest`直接安装最新版。 #### 使用默认sqlite数据库 ```shell @@ -115,4 +115,4 @@ module.exports = { } ``` ::: ---> \ No newline at end of file +--> diff --git a/neutrino-proxy-vuepress/docs/01.使用教程/01.开始使用/04.域名映射.md b/neutrino-proxy-vuepress/docs/01.使用教程/01.开始使用/04.域名映射.md index 6bd2ab06..e88e3b98 100644 --- a/neutrino-proxy-vuepress/docs/01.使用教程/01.开始使用/04.域名映射.md +++ b/neutrino-proxy-vuepress/docs/01.使用教程/01.开始使用/04.域名映射.md @@ -35,3 +35,28 @@ permalink: /pages/269a2e/ # 所有的代理映射都能绑定域名吗? 不行的。之所以能实现域名绑定,原因是HTTP请求附带了Host请求头,包含了请求的域名信息,代理服务端能根据请求的域名做分发。而TCP协议本身并不包含域名,因此无法实现。 所以,目前只有HTTP(涵盖HTTPS)协议能支持。 + +# 代理服务端使用非80端口时,nginx配置示例 +``` +server { + listen 80; + # 此处配不配貌似不影响 + server_name localhost *.neutrino-proxy.asgc.fun; + + location / { + if ($http_host ~* "(.*?).neutrino-proxy.asgc.fun") { + # 转发到代理服务端HTTP代理端口 + proxy_pass http://localhost:8899; + } + + tcp_nodelay on; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + #以上三行,目的是将代理服务器收到的用户的信息传到真实服务器上 + + root html; + index index.html index.htm; + } +} +``` diff --git a/neutrino-proxy-vuepress/docs/01.使用教程/01.开始使用/05.HTTPS配置.md b/neutrino-proxy-vuepress/docs/01.使用教程/01.开始使用/05.HTTPS配置.md new file mode 100644 index 00000000..e5b0cdab --- /dev/null +++ b/neutrino-proxy-vuepress/docs/01.使用教程/01.开始使用/05.HTTPS配置.md @@ -0,0 +1,25 @@ +--- +title: HTTPS配置 +date: 2023-05-27 11:40:12 +permalink: /pages/99a300/ +--- + +## 基础说明 +- 在中微子代理中,HTTP的定位是:为ip+端口的访问形式增加域名访问的支持。因此: + - 如果端口映射正确配置了域名,那么该映射同时支持IP+端口、域名2种访问形式。 + - 如果端口映射未配置域名,那么只能以ip+端口的形式访问,此时等价于选择TCP协议。 + +- 在中微子代理中,HTTPS作为HTTP的一种增强行为,不作为一个单独的协议。因此: + - 在端口映射中只需要选择HTTP即可 + - 若端口映射未正确配置域名,那么同理,此时等价于选择TCP协议。 + - 若端口映射配置了域名,但是未正确配置HTTPS端口、证书,那么此时可以通过域名访问,但不支持HTTPS + - 若端口映射配置了域名,且正确配置了HTTPS端口、证书,那么此时可以通过IP+端口、http域名、https域名3种形式访问 + + +## HTTPS配置流程 +- 按照域名映射流程,完成域名的配置 +- 在服务端配置域名的HTTPS证书信息(此处应该是通配符证书) + +## HTTPS端口问题 +- 与HTTP类似,HTTPS也有一个默认端口:443,默认情况下需要占用服务端443端口 +- 如果代理服务端不能独占443端口,此处可以指定任意端口,但需要在nginx中配置443端口的转发规则。此处与域名映射中代理服务端不使用80端口的情况类似 diff --git a/neutrino-proxy-vuepress/docs/01.使用教程/01.开始使用/06.服务端配置.md b/neutrino-proxy-vuepress/docs/01.使用教程/01.开始使用/06.服务端配置.md new file mode 100644 index 00000000..5f4c249b --- /dev/null +++ b/neutrino-proxy-vuepress/docs/01.使用教程/01.开始使用/06.服务端配置.md @@ -0,0 +1,59 @@ +--- +title: 服务端配置 +date: 2023-05-27 11:41:44 +permalink: /pages/f2d0f1/ +--- + +::: tip + +1.8.2版本,服务端配置格式有所调整。从1.8.2之前的版本升级到1.8.2之后的版本,需要注意 + +::: + + +# 以下是最新的服务端配置格式(app.yml) +```yml +server: + # 服务端web端口,用于支持HTTP接口,管理后台页面访问 + port: ${WEB_PORT:8888} + +neutrino: + proxy: + # 隧道相关配置-用于维持服务端与客户端的通信 + tunnel: + # 线程池相关配置,用于技术调优,可忽略 + boss-thread-count: 2 + work-thread-count: 10 + # 隧道非SSL端口 + port: ${OPEN_PORT:9000} + # 隧道SSL端口 + ssl-port: ${SSL_PORT:9002} + # 隧道SSL证书配置 + key-store-password: ${STORE_PASS:123456} + key-manager-password: ${MGR_PASS:123456} + jks-path: ${JKS_PATH:classpath:/test.jks} + # 代理服务相关配置 + server: + # 线程池相关配置,用于技术调优,可忽略 + boss-thread-count: 5 + work-thread-count: 20 + # http代理端口,默认80 + http-proxy-port: ${HTTP_PROXY_PORT:80} + # https代理端口,默认443 (需要配置域名、证书) + https-proxy-port: ${HTTPS_PROXY_PORT:443} + # 如果不配置,则不支持域名映射 + domain-name: ${DOMAIN_NAME:} + # https证书配置 + key-store-password: ${HTTPS_STORE_PASS:} + jks-path: ${HTTPS_JKS_PATH:} + data: + db: + # 数据库类型,目前支持sqlite、mysql两种 + type: ${DB_TYPE:sqlite} + # 数据库连接URL + url: ${DB_URL:jdbc:sqlite:data.db} + # 数据库用户名 + username: ${DB_USER:} + # 数据库密码 + password: ${DB_PASSWORD:} +``` diff --git a/neutrino-proxy-vuepress/docs/index.md b/neutrino-proxy-vuepress/docs/index.md index a3d33842..341e7b0b 100644 --- a/neutrino-proxy-vuepress/docs/index.md +++ b/neutrino-proxy-vuepress/docs/index.md @@ -1,7 +1,7 @@ --- home: true -heroImage: /img/logo.png +heroImage: /img/logo-0.75x.png heroText: Neutrino-Proxy tagline: 🚀一个基于Netty的开源内网穿透神器 actionText: 开始使用 → @@ -21,8 +21,12 @@ features: # 可选的 details: 新增、编辑、删除、禁用实时生效。 - title: Docker details: 服务端支持Docker一键部署。 -# - title: SSL证书 -# details: 支持SSL,保护您的信息安全。 + - title: 隧道SSL加密 + details: 隧道通信支持SSL,保护您的数据安全 + - title: HTTPS + details: 支持HTTPS + - title: 多客户端支持 + details: 暂未支持 # 文章列表显示方式: detailed 默认,显示详细版文章列表(包括作者、分类、标签、摘要、分页等)| simple => 显示简约版文章列表(仅标题和日期)| none 不显示文章列表 postList: none