本文最后更新于 2024 年 2 月 25 日
本文以 Debian 12 为例,介绍如何搭建 trojan-go + WebSocket 服务端,使用 Nginx 建立 Web,并利用 CloudFlare 隐藏源站 IP,最后说明对应的客户端配置文件的格式。本文同样完全适用于 Ubuntu 22.04 系统。
注:请先参照 Debian & Ubuntu 服务器的初始化配置 一文对服务器进行各种必要的配置。本文以 sammy
用户为例,进行 trojan-go 的部署,并默认已按初始化配置文章对服务器进行了配置。
准备工作
服务器与域名
- 可用的公网 IP 服务器(例如在 BandwagonHost、Vultr 等处购买的 VPS)
- 注册一个域名,本文以
example.com
为例
内容准备
- 起一个随机的路径名,本文使用
/random
- 准备自定义的 Web 页面,用于浏览器正常访问
example.com
显示的网页 - 准备自定义的 404 页面(可选)
CloudFlare 设置
- 将域名的 Namesever 指向 CloudFlare 所提供的地址,等待生效
- NS 记录更新后,将 CloudFlare 中域名的 A 记录指向服务器 IP,确保云朵为橙色(Proxied)
- 在
SSL/TLS
版块中的Overview
里,将加密模式调整为Full (strict)
- 在
SSL/TLS
版块中的Edge Certificates
里,将Minimum TLS Version
调整为TLS 1.3
,并在下方确保开启对 TLS 1.3 的支持 - 在
Firewall
版块中的Firewall Rules
里,添加一个规则,允许/random
路径的访问(Allow URI path) - 在 CloudFlare 上获取域名的
Zone ID
,记录之 - 在 CloudFlare 的
My Profile
中生成一个API Token
,权限为Zone DNS Edit
,Zone Resources
特指区域为example.com
,完成后记下Token
- 根据自己的需要在 CloudFlare 上进行其他设置(可选),例如配置
Always Use HTTPS
、HSTS
、Automatic HTTPS Rewrites
、Auto Minify
等等,主要影响浏览器访问网站的效果