Administrator
发布于 2026-02-06 / 8 阅读
0
0

📝 VPS 全能部署记录:1Panel + Halo + Hysteria 2 (TLS共存方案)


一、 基础环境与网络修复 (针对甲骨文/海外机)

新开的 VPS 第一件事是修复 DNS,否则无法拉取 Docker 镜像或安装脚本。

1. 暴力修复 DNS (防止还原)

Bash

# 1. 提权
sudo -i

# 2. 移除软链接并重建 DNS 配置
rm -f /etc/resolv.conf
echo "nameserver 8.8.8.8" > /etc/resolv.conf
echo "nameserver 1.1.1.1" >> /etc/resolv.conf

# 3. 锁定文件 (防止重启后被系统覆盖)
chattr +i /etc/resolv.conf

2. 安装 1Panel 面板

Bash

# 使用官方/备用源安装
curl -sSL https://resource.1panel.cn/quick_start.sh -o quick_start.sh && bash quick_start.sh
# 安装过程中记录好:面板端口、用户名、密码、安全入口

注:如果此时还装不上,检查 VPS 防火墙是否放行了面板端口。


二、 1Panel 环境准备与应用修复

登录面板后,先解决应用商店搜不到 Halo 的问题,并安装基础组件。

1. 修复应用商店 (手动拉取 Halo)

由于网络原因,官方库可能显示不全。直接从 GitHub 拉取 Halo 到本地库:

Bash

# 进入本地应用目录
cd /opt/1panel/resource/apps/local

# 克隆官方库到临时文件夹
git clone --depth 1 https://github.com/1Panel-dev/appstore.git temp_official

# 将 Halo 搬运到本地库
cp -r temp_official/apps/halo ./

# 清理并授权
rm -rf temp_official
chown -R root:root halo
chmod -R 755 halo

操作后:在面板“应用商店”点击“更新应用列表”,即可看到 Halo (Local)。

2. 安装必要环境

在应用商店搜索并安装:

  • OpenResty (Web服务器,勾选“端口外部访问”)

  • MySQL (数据库,建议 8.0 或 5.7)


三、 部署 Halo 博客与 HTTPS

1. 安装 Halo

  • 在应用商店安装 Halo

  • 网络:选择 1panel-network

  • 端口:默认 8090

  • 数据库:选择刚才安装的 MySQL 服务。

2. 创建反向代理与证书 (核心)

  • 菜单:网站 -> 创建网站 -> 反向代理

  • 主域名:填写你的域名 (如 blog.80830814.xyz)。

  • 代理地址127.0.0.1:8090

  • HTTPS

    • 勾选 HTTPS

    • SSL 选项:选择 Acme 账户 (如果没有就新建一个,用 Let's Encrypt)。

    • 勾选 自动续签

  • 点击确认,等待证书申请成功。

3. Halo 初始化 (易错点)

  • 浏览器访问 https://你的域名

  • 外部访问地址:必须修改为 https://你的域名 (千万不要用默认的 localhost)。

  • 设置管理员账号并登录。


四、 部署 Hysteria 2 (TLS 借用模式)

利用 1Panel 申请好的证书,实现 Hy2 与博客共存。

1. 安装 Hysteria 2

Bash

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

2. 定位真实证书路径

1Panel 的证书路径层级较深,先用命令找到它:

Bash

# 搜索 fullchain.pem
find /opt/1panel -name "fullchain.pem"

记下包含你域名的那个路径,通常结构为:

/opt/1panel/apps/openresty/openresty/www/sites/你的域名/ssl/

3. 修改配置文件

编辑 /etc/hysteria/config.yaml,填入刚才找到的路径:

YAML

listen: :6443

# 证书部分:使用 TLS 模式,指向 1Panel 的证书文件
tls:
  cert: /opt/1panel/apps/openresty/openresty/www/sites/你的域名/ssl/fullchain.pem
  key: /opt/1panel/apps/openresty/openresty/www/sites/你的域名/ssl/privkey.pem

# 认证部分:必须保留
auth:
  type: password
  password: "你的强密码"

# 伪装部分:回落给本地博客
masquerade:
  type: proxy
  proxy:
    url: https://你的域名
    rewriteHost: true

# 注意:不要开启 acme 字段,因为端口被 Nginx 占用了

4. 赋予权限与重启

Hy2 需要权限读取 1Panel 的文件夹:

Bash

# 赋予 ssl 目录读取权限 (修改为你查到的实际目录)
chmod -R 755 /opt/1panel/apps/openresty/openresty/www/sites/你的域名/ssl/

# 重启服务
systemctl restart hysteria-server
# 查看状态
systemctl status hysteria-server

五、 客户端连接设置

  • 地址/服务器你的域名 (或 VPS IP)

  • 端口6443

  • 认证/密码:配置文件里填的密码

  • SNI (服务器名称指示)你的域名 (如 blog.80830814.xyz) —— 必填


💡 维护小贴士

  1. 证书续期:1Panel 会自动续期证书。由于我们给了 chmod 755 权限,且 Hy2 读取的是文件链接,理论上续期后 Hy2 也能自动读取新证书(偶尔可能需要 systemctl restart hysteria-server)。

  2. 新 VPS 部署:建议为新 VPS 分配一个新的二级域名(如 vps2.xxx.xyz),重复上述“申请证书”步骤,不要尝试在不同 VPS 间复制证书。


评论