2021年了,谁还没有个https呢,不上SSL证书就out了

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

内网http响应

此时我的一个192.168.0.156的内网 8000端口存在http的响应页面。


内网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

frps端也多了一条连贯信息

拜访

配置上的域名解析到服务器的ip上,拜访域名成果