1 frp介绍
注意事项:
1)服务器端和内网机器端下载的版本要相同,否则可能会影响内网穿透
2)根据服务器系统选择合适的脚本
脚本主要分为服务端与客户端文件
1.外网服务器端用到的是Frps和Frps.ini
2.win10电脑用到的是Frpc和Frpc.ini
注:
服务端部署,可以只保留服务端文件 frps**
客户端部署,可以只保留客户端文件 frpc**
下载地址:
https://github.com/fatedier/frp/releases/tag/v0.37.1
注意下载版本
tar -zxvf frp_0.37.1_linux_arm64.tar.gz
mv frp_0.37.1_linux_arm64 frp
cd frp
2 服务端配置
2.1 修改配置
vim frps.ini
[common]
bind_addr = 0.0.0.0
bind_port = 7000
token = ch
2.2 启动
./frps -c frps.ini

3 客户端配置
3.1 win10
360会报毒
3.1.1 修改配置
frpc.ini
[common]
server_addr = 121.**.**.124
server_port = 7000
token = ch
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 8888
remote_port = 6000
3.1.2 启动
./frpc -c frpc.ini

3.1.3 访问
vps运行
curl 127.0.0.1
虽然成功,但是描述还是不详细,下面给出具体案例
4 通过ssh访问内网机器
场景:将内网linux 22端口映射到vps,kali访问vps,实现访问内网linux的效果
4.1 服务端
frps.ini
[common]
bind_addr = 0.0.0.0
bind_port = 7000
token = charles
./frps -c frps.ini
4.2 客户端
frpc.ini
[common]
server_addr = 121.**.**.124
server_port = 7000
token = charles
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
./frpc -c frpc.ini
4.3 访问
ssh -oPort=6000 root@121.**.**.124
不得不说,很nice
5 通过域名访问内网Web服务
5.1 服务端
frps.ini,设置http访问端口为8080,
https一样:type 设置为 https 即可
[common]
bind_port = 7000
vhost_http_port = 8080
token = charles
./frps -c ./frps.ini
5.2 客户端
frpc.ini
[common]
server_addr = 121.**.**.124
server_port = 7000
token = charles
[web]
type = http
local_port = 80
custom_domains = www.***.net
./frpc -c ./frpc.ini
5.3 访问
http://frp.***.net:8080

6 对外提供简单的文件访问服务(测试失败)
通过 static_file
插件可以对外提供一个简单的基于 HTTP 的文件访问服务。
6.1 服务端
[common]
bind_port = 7000
vhost_http_port = 8080
token = charles
./frps -c ./frps.ini
6.2 客户端
[common]
server_addr = 121.**.**.124
server_port = 7000
token = charles
[test_static_file]
type = tcp
remote_port = 6000
plugin = static_file
plugin_local_path = /tmp
plugin_strip_prefix = static
plugin_http_user = admin
plugin_http_passwd = root
./frpc -c ./frpc.ini
6.3 访问
http://121.**.**.124:6000/static/
7 统计面板
通过浏览器查看 frp 的状态以及代理统计信息展示。
注:Dashboard 尚未针对大量的 proxy 数据展示做优化,如果出现 Dashboard 访问较慢的情况,请不要启用此功能。
需要在 frps.ini 中指定 dashboard 服务使用的端口,即可开启此功能:
7.1 服务端
frps.ini
[common]
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = root
7.2 访问
http://121.**.**.124:7500

8 加密与压缩
这两个功能默认是不开启的,需要在 frpc.ini 中通过配置来为指定的代理启用加密与压缩的功能,压缩算法使用 snappy:
8.1 客户端
frpc.ini
[ssh]
type = tcp
local_port = 22
remote_port = 6000
use_encryption = true
use_compression = true
如果公司内网防火墙对外网访问进行了流量识别与屏蔽,例如禁止了 SSH 协议等,通过设置 use_encryption = true
,将 frpc 与 frps 之间的通信内容加密传输,将会有效防止流量被拦截。
如果传输的报文长度较长,通过设置 use_compression = true
对传输内容进行压缩,可以有效减小 frpc 与 frps 之间的网络流量,加快流量转发速度,但是会额外消耗一些 CPU 资源。
9 TLS
从 v0.25.0 版本开始 frpc 和 frps 之间支持通过 TLS 协议加密传输。通过在 frpc.ini
的 common
中配置 tls_enable = true
来启用此功能,安全性更高。
为了端口复用,frp 建立 TLS 连接的第一个字节为 0x17。
注意: 启用此功能后除 xtcp 外,不需要再设置 use_encryption。
10 代理限速
目前支持在客户端的代理配置中设置代理级别的限速,限制单个 proxy 可以占用的带宽。
10.1 客户端
frpc.ini
[ssh]
type = tcp
local_port = 22
remote_port = 6000
bandwidth_limit = 1MB
在代理配置中增加 bandwidth_limit
字段启用此功能,目前仅支持 MB
和 KB
单位。
11 范围端口映射
在 frpc 的配置文件中可以指定映射多个端口,目前只支持 tcp 和 udp 的类型。
这一功能通过 range:
段落标记来实现,客户端会解析这个标记中的配置,将其拆分成多个 proxy,每一个 proxy 以数字为后缀命名。
例如要映射本地 6000-6005, 6007 这 6 个端口,主要配置如下:
11.1 客户端
[range:test_tcp]
type = tcp
local_ip = 127.0.0.1
local_port = 6000-6006,6007
remote_port = 6000-6006,6007
实际连接成功后会创建 8 个 proxy,命名为 test_tcp_0, test_tcp_1 ... test_tcp_7
。
12 其他参考
12.1 服务端
frps.ini
[common]
bind_port = 7000
log_file = ./frps.log
log_level = warn
log_max_days = 30
authentication_timeout = 900
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
vhost_http_port = 7001
subdomain_host = frp.so.codeceo.org
12.2 客户端
frpc.ini
[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 7000
[web1]
type = http
local_port = 80
custom_domains = web1.***.org
[web2]
type = http
local_ip = localhost
local_port = 9528
use_gzip = true
custom_domains = web2.***.org
[web6]
type = http
local_port = 80
custom_domains = web6.***.org
13 常见报错
./frps: cannot execute binary file: Exec format error
说明软件版本与服务器架构选择不匹配,更换版本即可解决。
参考地址:
https://www.jianshu.com/p/6be158cc3685
https://segmentfault.com/a/1190000021876836
https://www.cnblogs.com/liscookie/p/11237615.html
<h2><a id="1_frp_0"></a>1 frp介绍</h2>
<p>注意事项:</p>
<p>1)服务器端和内网机器端下载的版本要相同,否则可能会影响内网穿透</p>
<p>2)根据服务器系统选择合适的脚本</p>
<p>脚本主要分为服务端与客户端文件</p>
<p>1.外网服务器端用到的是Frps和Frps.ini</p>
<p>2.win10电脑用到的是Frpc和Frpc.ini</p>
<p>注:</p>
<p>服务端部署,可以只保留服务端文件 frps**</p>
<p>客户端部署,可以只保留客户端文件 frpc**</p>
<p>下载地址:</p>
<p>https://github.com/fatedier/frp/releases/tag/v0.37.1</p>
<p>注意下载版本</p>
<pre><code class="lang-">tar -zxvf frp_0.37.1_linux_arm64.tar.gz
mv frp_0.37.1_linux_arm64 frp
cd frp
</code></pre>
<h2><a id="2__34"></a>2 服务端配置</h2>
<h3><a id="21__36"></a>2.1 修改配置</h3>
<pre><code class="lang-">vim frps.ini
</code></pre>
<pre><div class="hljs"><code class="lang-ini"><span class="hljs-section">[common]</span>
<span class="hljs-comment"># 内网穿透服务器端监听的IP地址,可以省略,默认为127.0.0.1</span>
<span class="hljs-attr">bind_addr</span> = <span class="hljs-number">0.0</span>.<span class="hljs-number">0.0</span>
<span class="hljs-comment"># 服务器端监听的端口,默认是7000,可自定义</span>
<span class="hljs-attr">bind_port</span> = <span class="hljs-number">7000</span>
<span class="hljs-comment"># 用于身份验证,请自行修改,要保证服务端与客户端一致</span>
<span class="hljs-attr">token</span> = ch
</code></div></pre>
<h3><a id="22__54"></a>2.2 启动</h3>
<pre><div class="hljs"><code class="lang-shell">./frps -c frps.ini
</code></div></pre>
<p><img src="https://static.couragesteak.com/article/1e1fa1dfcc7ba098085c3739e476c726.png" alt="frp启动" /></p>
<h2><a id="3__64"></a>3 客户端配置</h2>
<h3><a id="31_win10_66"></a>3.1 win10</h3>
<p>360会报毒</p>
<h4><a id="311__70"></a>3.1.1 修改配置</h4>
<p>frpc.ini</p>
<pre><div class="hljs"><code class="lang-ini"><span class="hljs-section">[common]</span>
<span class="hljs-comment"># 外网-服务器端ip</span>
<span class="hljs-attr">server_addr</span> = <span class="hljs-number">121</span>.**.**.<span class="hljs-number">124</span>
<span class="hljs-comment"># 外网-服务器端监听的端口(必须与Frps.ini中的配置一致)</span>
<span class="hljs-attr">server_port</span> = <span class="hljs-number">7000</span>
<span class="hljs-comment"># 用于身份验证,请自行修改,要保证服务端与客户端一致</span>
<span class="hljs-attr">token</span> = ch
<span class="hljs-section">[ssh]</span>
<span class="hljs-comment"># 配置类型为http协议</span>
<span class="hljs-attr">type</span> = tcp
<span class="hljs-comment"># 内网机器的IP</span>
<span class="hljs-attr">local_ip</span> = <span class="hljs-number">127.0</span>.<span class="hljs-number">0.1</span>
<span class="hljs-comment">#内网需要监听的端口(win10所启服务端口)</span>
<span class="hljs-attr">local_port</span> = <span class="hljs-number">8888</span>
<span class="hljs-attr">remote_port</span> = <span class="hljs-number">6000</span>
</code></div></pre>
<h4><a id="312__93"></a>3.1.2 启动</h4>
<pre><code class="lang-">./frpc -c frpc.ini
</code></pre>
<p><img src="https://static.couragesteak.com/article/ed136feb922eb308ed85b747cdfecf2b.png" alt="frp启动 客户端" /></p>
<h4><a id="313__103"></a>3.1.3 访问</h4>
<p>vps运行</p>
<pre><code class="lang-">curl 127.0.0.1
</code></pre>
<p>虽然成功,但是描述还是不详细,下面给出具体案例</p>
<h2><a id="4_ssh_115"></a>4 通过ssh访问内网机器</h2>
<ul>
<li>内网linux</li>
<li>公网vps</li>
<li>内网kali</li>
</ul>
<p>场景:将内网linux 22端口映射到vps,kali访问vps,实现访问内网linux的效果</p>
<h3><a id="41__123"></a>4.1 服务端</h3>
<p>frps.ini</p>
<pre><div class="hljs"><code class="lang-ini"><span class="hljs-section">[common]</span>
<span class="hljs-comment"># 内网穿透服务器端监听的IP地址,可以省略,默认为127.0.0.1</span>
<span class="hljs-attr">bind_addr</span> = <span class="hljs-number">0.0</span>.<span class="hljs-number">0.0</span>
<span class="hljs-comment"># 服务器端监听的端口,默认是7000,可自定义</span>
<span class="hljs-attr">bind_port</span> = <span class="hljs-number">7000</span>
<span class="hljs-comment"># 用于身份验证,请自行修改,要保证服务端与客户端一致</span>
<span class="hljs-attr">token</span> = charles
</code></div></pre>
<pre><code class="lang-">./frps -c frps.ini
</code></pre>
<h3><a id="42__141"></a>4.2 客户端</h3>
<p>frpc.ini</p>
<pre><div class="hljs"><code class="lang-ini"><span class="hljs-section">[common]</span>
<span class="hljs-comment"># 外网-服务器端ip</span>
<span class="hljs-attr">server_addr</span> = <span class="hljs-number">121</span>.**.**.<span class="hljs-number">124</span>
<span class="hljs-comment"># 外网-服务器端监听的端口(必须与Frps.ini中的配置一致)</span>
<span class="hljs-attr">server_port</span> = <span class="hljs-number">7000</span>
<span class="hljs-comment"># 用于身份验证,请自行修改,要保证服务端与客户端一致</span>
<span class="hljs-attr">token</span> = charles
<span class="hljs-section">[ssh]</span>
<span class="hljs-attr">type</span> = tcp
<span class="hljs-attr">local_ip</span> = <span class="hljs-number">127.0</span>.<span class="hljs-number">0.1</span>
<span class="hljs-attr">local_port</span> = <span class="hljs-number">22</span>
<span class="hljs-attr">remote_port</span> = <span class="hljs-number">6000</span>
</code></div></pre>
<pre><code class="lang-">./frpc -c frpc.ini
</code></pre>
<h3><a id="43__165"></a>4.3 访问</h3>
<pre><code class="lang-">ssh -oPort=6000 root@121.**.**.124
</code></pre>
<p>不得不说,很nice</p>
<h2><a id="5_Web_175"></a>5 通过域名访问内网Web服务</h2>
<h3><a id="51__177"></a>5.1 服务端</h3>
<p>frps.ini,设置http访问端口为8080,</p>
<p>https一样:type 设置为 https 即可</p>
<pre><div class="hljs"><code class="lang-ini"><span class="hljs-section">[common]</span>
<span class="hljs-comment"># 服务器端监听的端口,默认是7000,可自定义</span>
<span class="hljs-attr">bind_port</span> = <span class="hljs-number">7000</span>
<span class="hljs-comment"># 设置 http 访问端口为 8080</span>
<span class="hljs-attr">vhost_http_port</span> = <span class="hljs-number">8080</span>
<span class="hljs-comment"># 用于身份验证,请自行修改,要保证服务端与客户端一致</span>
<span class="hljs-attr">token</span> = charles
</code></div></pre>
<pre><code class="lang-">./frps -c ./frps.ini
</code></pre>
<h3><a id="52__197"></a>5.2 客户端</h3>
<p>frpc.ini</p>
<pre><div class="hljs"><code class="lang-ini"><span class="hljs-section">[common]</span>
<span class="hljs-comment"># 外网-服务器端ip</span>
<span class="hljs-attr">server_addr</span> = <span class="hljs-number">121</span>.**.**.<span class="hljs-number">124</span>
<span class="hljs-comment"># 外网-服务器端监听的端口(必须与Frps.ini中的配置一致)</span>
<span class="hljs-attr">server_port</span> = <span class="hljs-number">7000</span>
<span class="hljs-comment"># 用于身份验证,请自行修改,要保证服务端与客户端一致</span>
<span class="hljs-attr">token</span> = charles
<span class="hljs-section">[web]</span>
<span class="hljs-attr">type</span> = http
<span class="hljs-comment"># 本地机器上 Web 服务对应的端口</span>
<span class="hljs-attr">local_port</span> = <span class="hljs-number">80</span>
<span class="hljs-comment"># 绑定自定义域名</span>
<span class="hljs-attr">custom_domains</span> = www.***.net
</code></div></pre>
<pre><code class="lang-">./frpc -c ./frpc.ini
</code></pre>
<h3><a id="53__222"></a>5.3 访问</h3>
<pre><code class="lang-">http://frp.***.net:8080
</code></pre>
<p><img src="https://static.couragesteak.com/article/1fb887425bf8dbd2919f11e65a2b63d3.png" alt="frp内网web访问" /></p>
<h2><a id="6__232"></a>6 对外提供简单的文件访问服务(测试失败)</h2>
<p>通过 <code>static_file</code> 插件可以对外提供一个简单的基于 HTTP 的文件访问服务。</p>
<h3><a id="61__236"></a>6.1 服务端</h3>
<pre><div class="hljs"><code class="lang-ini"><span class="hljs-section">[common]</span>
<span class="hljs-comment"># 服务器端监听的端口,默认是7000,可自定义</span>
<span class="hljs-attr">bind_port</span> = <span class="hljs-number">7000</span>
<span class="hljs-comment"># 设置 http 访问端口为 8080</span>
<span class="hljs-attr">vhost_http_port</span> = <span class="hljs-number">8080</span>
<span class="hljs-comment"># 用于身份验证,请自行修改,要保证服务端与客户端一致</span>
<span class="hljs-attr">token</span> = charles
</code></div></pre>
<pre><code class="lang-">./frps -c ./frps.ini
</code></pre>
<h3><a id="62__252"></a>6.2 客户端</h3>
<pre><div class="hljs"><code class="lang-ini"><span class="hljs-section">[common]</span>
<span class="hljs-comment"># 外网-服务器端ip</span>
<span class="hljs-attr">server_addr</span> = <span class="hljs-number">121</span>.**.**.<span class="hljs-number">124</span>
<span class="hljs-comment"># 外网-服务器端监听的端口(必须与Frps.ini中的配置一致)</span>
<span class="hljs-attr">server_port</span> = <span class="hljs-number">7000</span>
<span class="hljs-comment"># 用于身份验证,请自行修改,要保证服务端与客户端一致</span>
<span class="hljs-attr">token</span> = charles
<span class="hljs-section">[test_static_file]</span>
<span class="hljs-attr">type</span> = tcp
<span class="hljs-attr">remote_port</span> = <span class="hljs-number">6000</span>
<span class="hljs-attr">plugin</span> = static_file
<span class="hljs-comment"># 要对外暴露的文件目录</span>
<span class="hljs-attr">plugin_local_path</span> = /tmp
<span class="hljs-comment"># 访问 url 中会被去除的前缀,保留的内容即为要访问的文件路径</span>
<span class="hljs-attr">plugin_strip_prefix</span> = static
<span class="hljs-comment"># 用户名</span>
<span class="hljs-attr">plugin_http_user</span> = admin
<span class="hljs-comment"># 密码</span>
<span class="hljs-attr">plugin_http_passwd</span> = root
</code></div></pre>
<pre><code class="lang-">./frpc -c ./frpc.ini
</code></pre>
<h3><a id="63__281"></a>6.3 访问</h3>
<pre><code class="lang-">http://121.**.**.124:6000/static/
</code></pre>
<h2><a id="7__289"></a>7 统计面板</h2>
<p>通过浏览器查看 frp 的状态以及代理统计信息展示。</p>
<p><strong>注:Dashboard 尚未针对大量的 proxy 数据展示做优化,如果出现 Dashboard 访问较慢的情况,请不要启用此功能。</strong></p>
<p>需要在 frps.ini 中指定 dashboard 服务使用的端口,即可开启此功能:</p>
<h3><a id="71__297"></a>7.1 服务端</h3>
<p>frps.ini</p>
<pre><div class="hljs"><code class="lang-ini"><span class="hljs-section">[common]</span>
<span class="hljs-attr">dashboard_port</span> = <span class="hljs-number">7500</span>
<span class="hljs-comment"># dashboard 用户名密码,默认都为 admin</span>
<span class="hljs-attr">dashboard_user</span> = admin
<span class="hljs-attr">dashboard_pwd</span> = root
</code></div></pre>
<h3><a id="72__309"></a>7.2 访问</h3>
<pre><code class="lang-">http://121.**.**.124:7500
</code></pre>
<p><img src="https://static.couragesteak.com/article/813fb5a3399a8e54f54512ee4a754018.png" alt="frp统计面板访问" /></p>
<h2><a id="8__319"></a>8 加密与压缩</h2>
<p>这两个功能默认是不开启的,需要在 frpc.ini 中通过配置来为指定的代理启用加密与压缩的功能,压缩算法使用 snappy:</p>
<h3><a id="81__323"></a>8.1 客户端</h3>
<p>frpc.ini</p>
<pre><div class="hljs"><code class="lang-ini"><span class="hljs-section">[ssh]</span>
<span class="hljs-attr">type</span> = tcp
<span class="hljs-attr">local_port</span> = <span class="hljs-number">22</span>
<span class="hljs-attr">remote_port</span> = <span class="hljs-number">6000</span>
<span class="hljs-attr">use_encryption</span> = <span class="hljs-literal">true</span>
<span class="hljs-attr">use_compression</span> = <span class="hljs-literal">true</span>
</code></div></pre>
<p>如果公司内网防火墙对外网访问进行了流量识别与屏蔽,例如禁止了 SSH 协议等,通过设置 <code>use_encryption = true</code>,将 frpc 与 frps 之间的通信内容加密传输,将会有效防止流量被拦截。</p>
<p>如果传输的报文长度较长,通过设置 <code>use_compression = true</code> 对传输内容进行压缩,可以有效减小 frpc 与 frps 之间的网络流量,加快流量转发速度,但是会额外消耗一些 CPU 资源。</p>
<h2><a id="9_TLS_342"></a>9 TLS</h2>
<p>从 v0.25.0 版本开始 frpc 和 frps 之间支持通过 TLS 协议加密传输。通过在 <code>frpc.ini</code> 的 <code>common</code> 中配置 <code>tls_enable = true</code> 来启用此功能,安全性更高。</p>
<p>为了端口复用,frp 建立 TLS 连接的第一个字节为 0x17。</p>
<p><strong>注意: 启用此功能后除 xtcp 外,不需要再设置 use_encryption。</strong></p>
<h2><a id="10__352"></a>10 代理限速</h2>
<p>目前支持在客户端的代理配置中设置代理级别的限速,限制单个 proxy 可以占用的带宽。</p>
<h3><a id="101__356"></a>10.1 客户端</h3>
<p>frpc.ini</p>
<pre><div class="hljs"><code class="lang-ini"><span class="hljs-section">[ssh]</span>
<span class="hljs-attr">type</span> = tcp
<span class="hljs-attr">local_port</span> = <span class="hljs-number">22</span>
<span class="hljs-attr">remote_port</span> = <span class="hljs-number">6000</span>
<span class="hljs-attr">bandwidth_limit</span> = <span class="hljs-number">1</span>MB
</code></div></pre>
<p>在代理配置中增加 <code>bandwidth_limit</code> 字段启用此功能,目前仅支持 <code>MB</code> 和 <code>KB</code> 单位。</p>
<h2><a id="11__372"></a>11 范围端口映射</h2>
<p>在 frpc 的配置文件中可以指定映射多个端口,目前只支持 tcp 和 udp 的类型。</p>
<p>这一功能通过 <code>range:</code> 段落标记来实现,客户端会解析这个标记中的配置,将其拆分成多个 proxy,每一个 proxy 以数字为后缀命名。</p>
<p>例如要映射本地 6000-6005, 6007 这 6 个端口,主要配置如下:</p>
<h3><a id="111__380"></a>11.1 客户端</h3>
<pre><div class="hljs"><code class="lang-ini"><span class="hljs-section">[range:test_tcp]</span>
<span class="hljs-attr">type</span> = tcp
<span class="hljs-attr">local_ip</span> = <span class="hljs-number">127.0</span>.<span class="hljs-number">0.1</span>
<span class="hljs-attr">local_port</span> = <span class="hljs-number">6000</span>-<span class="hljs-number">6006</span>,<span class="hljs-number">6007</span>
<span class="hljs-attr">remote_port</span> = <span class="hljs-number">6000</span>-<span class="hljs-number">6006</span>,<span class="hljs-number">6007</span>
</code></div></pre>
<p>实际连接成功后会创建 8 个 proxy,命名为 <code>test_tcp_0, test_tcp_1 ... test_tcp_7</code>。</p>
<h2><a id="12__394"></a>12 其他参考</h2>
<h3><a id="121__396"></a>12.1 服务端</h3>
<p>frps.ini</p>
<pre><div class="hljs"><code class="lang-ini"><span class="hljs-comment"># 下面这句开头必须要有,表示配置的开始</span>
<span class="hljs-section">[common]</span>
<span class="hljs-comment"># frps绑定端口 (必选)</span>
<span class="hljs-attr">bind_port</span> = <span class="hljs-number">7000</span>
<span class="hljs-comment"># frps 日志 (可选)</span>
<span class="hljs-attr">log_file</span> = ./frps.log
<span class="hljs-comment"># frps 日志等级 (可选)</span>
<span class="hljs-attr">log_level</span> = warn
<span class="hljs-comment"># frps 日志存放天数 (可选)</span>
<span class="hljs-attr">log_max_days</span> = <span class="hljs-number">30</span>
<span class="hljs-comment"># 默认为900秒,即15分钟,如果设置成0就不会对报文时间戳进行超时验证</span>
<span class="hljs-attr">authentication_timeout</span> = <span class="hljs-number">900</span>
<span class="hljs-comment"># 仪表盘端口,只有设置了才能使用仪表盘(即后台)</span>
<span class="hljs-attr">dashboard_port</span> = <span class="hljs-number">7500</span>
<span class="hljs-comment"># 仪表盘访问的用户名密码,如果不设置,则默认都是 admin</span>
<span class="hljs-attr">dashboard_user</span> = admin
<span class="hljs-attr">dashboard_pwd</span> = admin
<span class="hljs-comment"># frp 穿透访问内网中的网站监听端口 配合后面使用nginx做域名绑定访问</span>
<span class="hljs-attr">vhost_http_port</span> = <span class="hljs-number">7001</span>
<span class="hljs-comment"># 将 frp.so.codeceo.org 解析到服务端后,可以使用此域名来访问客户端对应的 http</span>
<span class="hljs-attr">subdomain_host</span> = frp.so.codeceo.org
</code></div></pre>
<h3><a id="122__424"></a>12.2 客户端</h3>
<p>frpc.ini</p>
<pre><div class="hljs"><code class="lang-ini"><span class="hljs-section">[common]</span>
<span class="hljs-comment"># 服务端公网IP</span>
<span class="hljs-attr">server_addr</span> = xxx.xxx.xxx.xxx
<span class="hljs-comment"># 服务端frps绑定端口</span>
<span class="hljs-attr">server_port</span> = <span class="hljs-number">7000</span>
<span class="hljs-section">[web1]</span>
<span class="hljs-attr">type</span> = http
<span class="hljs-attr">local_port</span> = <span class="hljs-number">80</span>
<span class="hljs-attr">custom_domains</span> = web1.***.org
<span class="hljs-section">[web2]</span>
<span class="hljs-attr">type</span> = http
<span class="hljs-attr">local_ip</span> = localhost
<span class="hljs-attr">local_port</span> = <span class="hljs-number">9528</span>
<span class="hljs-attr">use_gzip</span> = <span class="hljs-literal">true</span>
<span class="hljs-attr">custom_domains</span> = web2.***.org
<span class="hljs-section">[web6]</span>
<span class="hljs-attr">type</span> = http
<span class="hljs-attr">local_port</span> = <span class="hljs-number">80</span>
<span class="hljs-attr">custom_domains</span> = web6.***.org
</code></div></pre>
<h2><a id="13__455"></a>13 常见报错</h2>
<pre><code class="lang-">./frps: cannot execute binary file: Exec format error
说明软件版本与服务器架构选择不匹配,更换版本即可解决。
</code></pre>
<p>参考地址:</p>
<p>https://www.jianshu.com/p/6be158cc3685</p>
<p>https://segmentfault.com/a/1190000021876836</p>
<p>https://www.cnblogs.com/liscookie/p/11237615.html</p>
留言