前段時間羣暉裝了 TTRSS,奈何 TTRSS 容器自身不負責使用 HTTPS 加密通信。
幸好 FRP 在 v0.26.0 中加入了 http2https 插件,可快速實現外網安全訪問,特此記錄並分享。
關於 FRP
FRP:一個可用於內網穿透的高性能反向代理應用,支持 tcp, udp 協議,爲 http 和 https 應用協議提供了額外的能力,且嘗試性支持了點對點穿透。
項目中文文檔:https://github.com/fatedier/frp/blob/master/README_zh.md
熟讀文檔才能事半功倍。
使用 FRP 實現 https 訪問
如圖,要使用此功能,服務端和客戶端版本均不可低於 v0.26.0
使用方法官方有,這裏貼出博主配置 TTRSS 的代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
[
TTRSS
]
type
=
https
# 這裏使用的二級域名,需自行申請證書
custom_domains
=
xxx
.
bwskyer
.
com
# 開啓插件,重要
plugin
=
https2http
# 以下爲配置插件
# 轉換成 http 後發送到的本地端口
plugin_local_addr
=
127.0.0.1
:
5005
# 證書位置(我這裏放在 FRP 程序根目錄)
plugin_crt_path
=
.
/
certificate
.
crt
plugin_key_path
=
.
/
private
.
key
# 修改 HTTP 請求中的 header,建議保留 127.0.0.1
plugin_host_header_rewrite
=
127.0.0.1
# 可選參數
plugin_header_X
-
From
-
Where
=
frp
|
🔴 特別注意 plugin_host_header_rewrite
參數,建議不修改。
啓動 FRP 後,便可使用 https://xxx.bwskyer.com 訪問 TTRSS 。
與普通 https 反代的差異
正常的 https 配置:
1
2
3
4
5
|
[
HTTPS_BW
]
type
=
https
local_ip
=
127.0.0.1
local_port
=
8001
custom_domains
=
xxx
.
bwskyer
.
com
|
適用於通過 web 服務器完成 https 證書導入配置。
下圖是兩種方式的對比,簡單的說,就是如果內網不配置 SSL 證書服務,想快速實現 https 訪問,那就直接把證書交給 FRP 來完成加密,如果內網配置了 SSL 證書服務,則直接跳轉。
通過 https2http 完成的 TTRSS https 訪問。
因家庭寬帶部署web服務或被禁,故本文純屬技術討論,文中網址無效。(據說有備案的域名貌似可行,即使如此,依然建議採用 https 方式完成反向代理。)
FRP 功能真的很豐富,多看看文檔,你會發現很多好玩的東西,比如 http 加密碼提示訪問。
-End-