From 7054a1df0ed9a3251f0b0a42b608f921a5328c85 Mon Sep 17 00:00:00 2001 From: aoshiguchen <1052045476@qq.com> Date: Sat, 27 May 2023 12:05:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=98=E7=BD=91=E6=96=87=E6=A1=A3=E8=B0=83?= =?UTF-8?q?=E6=95=B4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../docs/.vuepress/public/img/logo-0.75x.png | Bin 0 -> 5034 bytes .../01.使用教程/01.开始使用/01.快速上手.md | 4 +- .../01.使用教程/01.开始使用/04.域名映射.md | 25 ++++++++ .../01.使用教程/01.开始使用/05.HTTPS配置.md | 25 ++++++++ .../01.使用教程/01.开始使用/06.服务端配置.md | 59 ++++++++++++++++++ neutrino-proxy-vuepress/docs/index.md | 10 ++- 6 files changed, 118 insertions(+), 5 deletions(-) create mode 100755 neutrino-proxy-vuepress/docs/.vuepress/public/img/logo-0.75x.png create mode 100644 neutrino-proxy-vuepress/docs/01.使用教程/01.开始使用/05.HTTPS配置.md create mode 100644 neutrino-proxy-vuepress/docs/01.使用教程/01.开始使用/06.服务端配置.md 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 0000000000000000000000000000000000000000..de1206815fab91e94e92db7fa176418e8cb03012 GIT binary patch literal 5034 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 literal 0 HcmV?d00001 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