2021年了,誰尚未個https呢,不上SSL證書就out了nginx
Nginx服務器
第一方法是在服務器端使用Nginx。Nginx監聽80和443端口,把來自域名的請求,經過Nginx的反向代理轉發給frps監聽的端口(好比7000),再由frps在轉發給frpc處理http響應。在Nginx裏配置上https證書,由Nginx實現ssl的加密解密。Nginx配置https證書和反向代理都是常規操做,再也不作多餘的演示。以爲麻煩用寶塔。dom
frp的https配置測試
frp自身也能夠配置上證書提供https服務,服務器frps就安心的作轉發就行了。加密
服務器端frps配置spa
在服務器端想用Nginx反向代理frps,一直沒有測試成功。這裏就讓frps獨佔80和443端口。修改frps.ini,代理
[common]
bind_port = 7000
token=12310086Nserver
vhost_http_port = 80
vhost_https_port = 443blog
frps執行修改過的配置文件,注意防火牆或者寶塔放行對應的端口。token
./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
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上,訪問域名效果