![图片[1]-Aisword的探索随笔](/assets/storage/media/2026/03/bc13bdc301434b87abbe4a70c4b60188.jpg)
Nginx
第一方法是在服务器端使用Nginx。Nginx监听80和443端口,把来自域名的请求,通过Nginx的反向代理转发给frps监听的端口(比如7000),再由frps在转发给frpc处理http响应。在Nginx里配置上https证书,由Nginx实现ssl的加密解密。Nginx配置https证书和反向代理都是常规操作,不再做多余的演示。觉得麻烦用宝塔。
frp的https配置
frp自身也可以配置上证书提供https服务,服务器frps就安心的做转发就好了。
服务器端frps配置
在服务器端想用Nginx反向代理frps,一直没有测试成功。这里就让frps独占80和443端口。修改frps.ini,
[common]
bind_port = 7000
token=12310086N
vhost_http_port = 80
vhost_https_port = 443
frps执行修改过的配置文件,注意防火墙或者宝塔放行对应的端口。
./frps -c frps.ini
![图片[2]-Aisword的探索随笔](/assets/storage/media/2026/03/9cd985f8eec140639d1b204a3570f250.png)
内网http响应
此时我的一个192.168.0.156的内网 8000端口存在http的响应页面。
![图片[3]-Aisword的探索随笔](/assets/storage/media/2026/03/c6d0bc807510415eaa28e9f77119e938.png)
![图片[4]-Aisword的探索随笔](/assets/storage/media/2026/03/8903763b499b47d59402ad4784fb05bb.png)
内网frpc配置
frpc.ini配置根据自己情况修改,证书配置”plugin_crt_path”、”plugin_key_path”使用的是对应域名的nginx的证书。”plugin_local_addr”就是内网对应的http响应端口
[common]
server_addr = 服务器IP
bind_port = 7000
token=12310086N
[test_htts2http]
type = https
custom_domains = 域名
plugin = https2http
plugin_local_addr = 127.0.0.1:8000
HTTPS 证书相关的配置
plugin_crt_path = ./ssl/server.crt
plugin_key_path = ./ssl/server.key
plugin_host_header_rewrite = 127.0.0.1
plugin_header_X-From-Where = frp
./frpc -c frpc.ini
![图片[5]-Aisword的探索随笔](/assets/storage/media/2026/03/ce8689465219446e87ce6e806648ae0b.png)
frps端也多了一条连接信息
![图片[6]-Aisword的探索随笔](/assets/storage/media/2026/03/ddf7043250874474ba62c76ff6c241d7.png)
访问
配置上的域名解析到服务器的ip上,访问域名效果![图片[7]-Aisword的探索随笔](/assets/storage/media/2026/03/604df6b9912b4002bf5ecd547a2c7c8a.png)
![图片[8]-Aisword的探索随笔](/assets/storage/media/2026/03/aa0c14c438054ebbb0926d9c2cd65004.png)