1.
概述:目标与准备
在开始前,明确目标:在台湾 VPS 上部署抗封锁且难被检测的节点,客户端使用小火箭(Shadowrocket)连接。准备项:一台台湾 VPS(推荐 1G/1核 起步)、root 权限、域名(便于 TLS)、本地终端(Mac/Windows)、小火箭安装包。备份现有数据,记录服务器 IP 与域名。
2.
选择协议与架构
推荐使用 Xray(vless/trojan)+ TLS(WebSocket 或 HTTP/2)+ Nginx 反代/伪装。优先选择 VLESS+XTLS(效率高)或 Trojan(伪装成 HTTPS)。若需要更强隐蔽可配置 Cloak 或 websocket + 合法网站路径伪装。
3.
安装基本环境(以 Ubuntu 20.04 为例)
步骤:1) 更新系统:apt update && apt upgrade -y;2) 安装 Nginx:apt install nginx -y;3) 安装 certbot(用于自动 TLS):apt install certbot python3-certbot-nginx -y;4) 下载并安装 Xray:从官方或可信脚本(自行验证脚本安全)下载并解压到 /usr/local/bin,设置 systemd 服务。确保时区与时间同步(timedatectl set-ntp true)。
4.
申请并部署 TLS 证书
使用域名申请 Let's Encrypt 证书:certbot --nginx -d example.com(将 example.com 替换为你的域名)。配置建议:启用强制 HTTPS,开启 HSTS(慎用预加载),启用 OCSP Stapling(在 Nginx 配置 server{} 内添加 ssl_stapling on; ssl_stapling_verify on;)。设置 TLS 最小版本为 TLS1.2 或 TLS1.3,禁用弱加密套件。
5.
Nginx 反代与伪装配置示例
在 /etc/nginx/sites-available/your.conf 添加 server 段,监听 443,server_name 指定域名,proxy_pass 到本地 Xray 端口(例如 127.0.0.1:12345),用 location /你的伪装路径/ 指定合法网站资源或返回 200 页面。重启 nginx:nginx -t && systemctl restart nginx。确保访问域名时能返回伪装页面。
6.
Xray 配置(VLESS+WS 示例)
在 /etc/xray/config.json 中配置 inbound 使用 vless,传输类型为 websocket,path 与 Nginx 伪装路径一致,设置客户端 id(UUID)。示例关键字段:{ "inbounds":[{"port":12345,"protocol":"vless","settings":{"clients":[{"id":"你的UUID"}]},"streamSettings":{"network":"ws","wsSettings":{"path":"/你的伪装路径"}}}] }。启用 log 至 /var/log/xray/,设置 loglevel 为 info 或 warning。
7.
高级加密与伪装:XTLS、Cloak、HTTP/2
若使用 XTLS,在 Xray 中启用 xtlsSettings 并将流量直连到 TLS(跳过 Nginx)。Cloak 可更强隐藏,但需要客户端支持。HTTP/2 与 gRPC 也是可选的传输方式,若目标是最大隐蔽,优先选择与常规 HTTPS 流量类似的伪装(路径、Headers、频率、大小)。
8.
防火墙与访问控制
基础防护:关闭不必要端口,仅开放 22(或更改 SSH 端口)、80、443。使用 ufw 或 iptables:ufw allow 443/tcp; ufw allow 80/tcp; ufw allow from <你管理 IP> to any port
。配置 rate limiting:使用 iptables 模块限制每秒连接数,或 nginx limit_conn/limit_req 限制伪装路径请求频率。
9.
SSH 与系统加固
SSH 强化步骤:1) 生成并使用密钥对登录,禁止密码登录(/etc/ssh/sshd_config:PasswordAuthentication no);2) 更改默认端口(Port 2202);3) 禁用 root 直接登录(PermitRootLogin no);4) 安装 fail2ban 并针对 ssh、nginx 配置 jail,防止暴力破解。关闭不需要的服务,定期更新系统。
10.
日志、监控与自动化运维
启用并定向 Xray 与 Nginx 日志到 /var/log;使用 logrotate 定期轮转。配置 fail2ban 对异常访问封禁。建议安装简单监控(如 netdata 或 glances)观察流量与异常。配置 certbot 自动续期(certbot renew --dry-run)并测试。
11.
小火箭(Shadowrocket)客户端配置步骤
打开小火箭:添加节点 -> 选择协议(VLESS/Vmess/Trojan)-> 填入服务器域名(非IP)、端口(443)、UUID/密码、传输类型选择 ws 或 tls。若使用 ws,填写伪装路径与 Host(填写域名),勾选 TLS 并在 TLS Host 字段填写域名,开启 SNI 验证。保存并启用该节点,测试连接。
12.
测试与故障排查
验证步骤:1) 用浏览器访问域名,确认伪装页面正常;2) 在服务器上查看 xray 日志 tail -f /var/log/xray/xray.log,观察连接是否建立;3) 客户端抓包(或查看小火箭日志)确认 TLS 握手与 WebSocket 路径匹配;4) 若连接失败,检查防火墙、Nginx 反代端口、证书是否有效(openssl s_client -connect domain:443 -servername domain)。
13.
日常维护与安全建议
定期更换 UUID/密码、监控异常流量、限制单 IP 连接数。对高风险时期可临时更改端口或路径。保证证书续期、系统更新及时。对需要长期隐蔽的节点,考虑轮换域名或使用 CDN(注意 CDN 的访问策略与隐私影响)。
14.
问:在台湾服务器上使用小火箭时,如何避免被主机商或防火墙快速检测到?
答:首要做法是使用域名 + TLS 伪装(WebSocket/HTTP/2)并伪装为合法网站流量,配置 Nginx 返回正常的页面,使用常见端口 443/80,限制异常连接频率,使用随机路径与合法 headers。避免明显的流量模式(如高频固定包长),并启用日志监控与速率限制。
15.
问:如果证书续期失败导致节点不可用,如何快速恢复?
答:先临时回退为直连非 TLS(仅用于紧急恢复),或临时用备用域名与证书。最佳做法是启用 certbot 自动续期并在续期钩子中重载 nginx(--deploy-hook "systemctl reload nginx")。平时测试 certbot renew --dry-run 以提前发现问题。
16.
问:小火箭连接不稳定,如何定位问题?
答:逐步排查:1) 检查服务器端 xray 日志是否有连接记录;2) 检查 nginx access/error 日志;3) 使用 openssl s_client 或 curl --http2 测试 TLS 与伪装路径;4) 暂时关闭防火墙看是否恢复;5) 检查服务器带宽与负载,必要时升级带宽或调整并发限制。
来源:安全设置指南 小火箭台湾服务器节点的加密与防护配置建议