diff --git a/neutrino-proxy-vuepress/docs/01.使用教程/01.开始使用/03.关于端口.md b/neutrino-proxy-vuepress/docs/01.使用教程/01.开始使用/03.关于端口.md new file mode 100644 index 00000000..532b5743 --- /dev/null +++ b/neutrino-proxy-vuepress/docs/01.使用教程/01.开始使用/03.关于端口.md @@ -0,0 +1,31 @@ +--- +title: 关于端口 +date: 2023-04-05 18:20:18 +permalink: /pages/68badb/ +--- + +# 端口池 +> 端口池用于统一、集中管理服务端代理对外开放的代理端口。 + +1、这里不包含服务端启动本身所需要的一些特殊端口,如:WEB端口、对客户端开放的端口(9000、9002)、HTTP代理端口。 +2、端口映射里所有的服务端端口,都包含在端口池内。方便了统一管理、安全组/防火墙设置。 + +# 端口池分组 +> 顾名思义,它是对端口池下的端口做了一个划分。 + +1、允许同一个分组内的端口拥有特定的归属。比如:全局分组下的端口,进行代理时所有用户共享,这里极端情况下涉及到端口抢占问题。而用户分组下的端口,归属于某一个特定的用户。 +License分组下的端口,归属于某一个特定的License。 +2、该划分,使得特定的用户、License能够独占一部分端口。为后续更多场景下代理,避免端口被占用提供了支持。 + +# 端口映射 +> 当前版本代理功能的基本单元。 + +1、该映射由一个四元组唯一标识(代理服务端IP、代理服务端端口、被代理服务局域网IP、被代理服务端口)。 +2、由于本项目为个人版,代理服务端仅支持一个节点,所以四元组中的服务端IP可以省略,不在端口映射管理中体现。 +3、代理成功的情况下,通过访问代理服务端IP+端口,可以达到访问内网被代理服务IP+端口的同等效果 +4、例如:本地启动一个socket服务,需要和异地的同事联调。可以通过中微子代理jetbrains客户端插件(后续会推出)将本地socket端口代理至公网。同事通过访问代理服务端公网IP+端口进行调试。 + +# 基础端口说明 +- WEB端口:服务端API、后台管理访问端口,默认为:8888 +- 服务端等待客户端连接的端口,非SSL:默认9000,SSL端口:默认9000(若不需要SSL支持,可不配置SSL端口) +- HTTP代理端口:默认80,用于域名映射,若无需域名映射,可以忽略。 \ 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 new file mode 100644 index 00000000..0cb01298 --- /dev/null +++ b/neutrino-proxy-vuepress/docs/01.使用教程/01.开始使用/04.域名映射.md @@ -0,0 +1,37 @@ +--- +title: 域名映射 +date: 2023-04-05 18:46:12 +permalink: /pages/269a2e/ +--- + +# 什么是域名映射? +域名映射是将指定端口映射绑定到某一个子域名上,通过直接访问域名的方式,达到访问被代理服务的目的。 + +# 域名映射能解决什么问题? +- 1、当服务端端口需要经常变动的时候,可以通过固定域名的方式,使得开发调试能够长期稳定的进行,不用每次更改访问地址。 +- 2、使用域名可以使用有意义的名称方便记忆 +- 3、调试某些第三方回调时,回调地址不能填写IP+端口的形式,此时需要域名来完成 + +# 域名映射的大致流程? +> 例如你有一个已备案的域名:asgc.fun,以下是使用域名映射的大致流程 + +# 情况1:代理服务端使用80端口 +- 1、DNS解析配置泛域名解析 proxy.asgc.fun 指向代理服务端IP +- 2、代理服务端app.yml配置域名:proxy.asgc.fun,部署 +- 3、服务端管理后台新建端口映射,协议选择:HTTP,设置好子域名,如:test1 +- 4、配置好客户端并启动,代理映射完成 +- 5、通过访问: http://test1.proxy.asgc.fun 实现访问被代理服务 + +# 情况2:代理服务端不使用80端口,80端口被nginx占用 +> 假设代理服务端使用82作为HTTP代理端口 + +- 1、DNS解析配置泛域名解析 proxy.asgc.fun 指向代理服务端IP +- 2、nginx 80端口下将 *.proxy.asgc.fun 请求转到82端口,并附带原有请求头(特别是`Host`) +- 3、代理服务端app.yml配置域名:proxy.asgc.fun,部署 +- 4、服务端管理后台新建端口映射,协议选择:HTTP,设置好子域名,如:test1 +- 5、配置好客户端并启动,代理映射完成 +- 6、通过访问: http://test1.proxy.asgc.fun 实现访问被代理服务 + +# 所有的代理映射都能绑定域名吗? +不行的。之所以能实现域名绑定,原因是HTTP请求附带了Host请求头,包含了请求的域名信息,代理服务端能根据请求的域名做分发。而TCP协议本身并不包含域名,因此无法实现。 +所以,目前只有HTTP(涵盖HTTPS)协议能支持。