Post

使用自域名 + CA 证书部署 Hysteria2 节点

使用自域名 + CA 证书部署 Hysteria2 节点

本教程使用 Cloudflare 域名(例如 example.com)与 ACME 证书在 VPS 上部署 Hysteria2(HY2)节点,并提供 Shadowrocket 客户端配置示例。适用于 Debian / Ubuntu / CentOS 等常见发行版。

Hysteria2 是什么

  • 基于 QUIC,抗丢包、低延迟,更适合跨境网络
  • 可通过 HTTPS/HTTP3 伪装,支持自动 ACME 证书获取
  • 在移动宽带(移动/联通/电信)环境表现优秀

1. 准备工作

1.1 一台 VPS

支持 IPv4 或 IPv6(双栈更佳)。

1.2 一个域名

  • 本文使用的是cloudflare购买的域名,比如 example.com。在cloudflare中添加该域名的dns记录。A/AAAA 记录指向 VPS(可使用 hy 等子域名),必须为灰云(DNS Only),不能使用橙云(proxy)。
  • 示例:
类型名称代理状态
A@157.17.17.43DNS only

2. 安装 Hysteria2(官方脚本)

运行官方一键脚本:

1
bash <(curl -fsSL https://get.hy2.sh/)

脚本会安装最新版 hysteria2、创建 systemd 服务,并生成 /etc/hysteria/config.yaml

3. 修改 hy2 配置文件

编辑服务器 Hysteria2 配置

1
sudo nano /etc/hysteria/config.yaml

示例配置(替换为自己的域名、邮箱和密码):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
listen: :8443

acme:
  domains:
    - example.com
  email: you@youremail.com

auth:
  type: password
  password: YourStrongPassword

masquerade:
  type: proxy
  proxy:
    url: https://www.bing.com/
    rewriteHost: true

保存后重启服务:

1
sudo systemctl restart hysteria-server.service

设置开机启动:

1
sudo systemctl enable hysteria-server.service

检查启动状态:

1
sudo systemctl status hysteria-server.service

如果提示active(running)表示启动成功,并且证书已申请成功。如果提示failed失败,可能是防火墙未放行8443/udp端口。

4. Shadowrocket 客户端连接

4.1 基础配置

字段填写内容
类型Hysteria2
服务器example.com
端口8443
密码YourStrongPassword

4.2 TLS 设置(必须开启)

字段填写内容
TLS开启
SNIexample.com
Allow Insecure关闭

必须填写 SNI,以匹配服务器证书域名,否则无法握手。

4.3 Bandwidth(可选)

  • 不填:使用 BBR,更稳定(推荐)
  • 填写:使用 Brutal,更快但可能不稳

4.4 其他设置

  • Obfs:关闭
  • QUIC 版本:默认
  • 心跳:默认

5. 节点测试

Shadowrocket 中: 1) 点击刚添加的 HY2 节点 2) 启用代理 3) 打开浏览器访问任意网站

可以正常使用即部署成功。

6. 常见问题

Q1:Cloudflare 可以开橙云吗?

不可以。HY2 基于 QUIC,HTTP CDN 无法反代此类流量,必须使用灰云(DNS only)。

Q2:HY2 可以走 IPv6 吗?

可以,主要看域名解析的是 ipv4 还是 ipv6。一般来说,ipv6 更加抗封锁。但是一台 vps 的 ipv4 和 ipv6 往往走的线路不一样,看你需求。

Q3:必须使用 ACME 证书吗?

不强制,但 ACME(Let’s Encrypt)更安全,Shadowrocket 兼容性也更好,无需开启 Allow Insecure,强烈推荐。

This post is licensed under CC BY 4.0 by the author.