侧边栏壁纸
博主头像
DOKI SEKAI博主等级

行动起来,活在当下

  • 累计撰写 114 篇文章
  • 累计创建 38 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

迁移服务器,备案丢失应急方案

君
2025-03-26 / 0 评论 / 0 点赞 / 3 阅读 / 4061 字

问题描述

服务器迁移后备案被取消,需通过技术手段恢复访问,同时避免因备案缺失导致服务中断。用户提出用香港服务器代理流量至大陆服务器,但需满足以下条件:

  1. 用户访问入口为香港Nginx,代理到大陆服务器。
  2. 必须使用HTTPS,若用HTTP会导致域名被检测到。
  3. Nginx不能传递域名信息到大陆服务器(如Host头、SNI信息),否则可能触发监管检测。

问题原因

  1. 备案失效:服务器迁移后,原备案信息与服务器地理位置(如更换到未备案的IP/区域)不符,导致备案被取消。 并且对dns以及域名访问端口进行阻断。
  2. HTTP协议风险:若代理使用HTTP,域名可能被明文传输或检测到,违反监管要求。
  3. 域名信息泄露:Nginx默认会在代理请求中携带Host头或SNI(Server Name Indication),导致大陆服务器收到域名信息,可能被识别为“未备案直接访问”。

解决方案

通过香港Nginx反向代理大陆服务器,并严格限制域名信息传递,同时强制全链路HTTPS加密。具体流程如下:


1. 架构设计
用户访问 → 香港Nginx(HTTPS) → 代理至大陆服务器(HTTPS) → 返回数据

关键点
• 用户与香港Nginx之间使用HTTPS加密。
• 香港Nginx与大陆服务器之间强制使用HTTPS(避免HTTP明文暴露域名)。
禁止传递域名信息(如Host头、SNI)。


2. 香港Nginx配置步骤

a. 配置SSL证书
• 为香港Nginx的域名(如hk-proxy.com)部署有效的SSL证书,确保用户到香港服务器的链路为HTTPS。

b. 反向代理规则

server {
    listen 443 ssl;
    server_name hk-proxy.com;

    # SSL配置
    ssl_certificate /path/to/hk-proxy-cert.pem;
    ssl_certificate_key /path/to/hk-proxy-key.pem;

    location / {
        # 移除Host头,防止传递域名信息
        proxy_set_header Host "";
        # 禁止传递其他可能包含域名的Header
        proxy_set_header Referer "";
        proxy_set_header Origin "";

        # 使用IP地址访问大陆服务器(避免域名解析)
        proxy_pass https://<大陆服务器IP>:443;
        
        # 强制HTTPS(即使大陆服务器支持HTTP)
        proxy_ssl_verify off;  # 若大陆服务器使用自签名证书,需关闭验证
    }
}

c. 禁用SNI扩展
在Nginx代理到大陆服务器时,默认会发送SNI(包含域名),需禁用:

proxy_ssl_server_name off;  # 关闭SNI传递

3. 大陆服务器配置

a. 仅允许香港Nginx IP访问
• 在大陆服务器的防火墙(如iptables或安全组)中,仅放行香港Nginx服务器的IP,禁止其他来源访问。

b. 配置SSL证书
• 大陆服务器需部署SSL证书,但证书域名无需与业务域名一致(建议使用自签名证书,因域名信息已被剥离)。

c. 禁用基于域名的路由
• 确保后端服务(如Web应用)不依赖Host头处理请求(例如Nginx配置中关闭虚拟主机逻辑,直接监听IP)。


4. 验证与风险控制
  1. 测试域名信息泄露
    • 使用curl -v或抓包工具(如Wireshark)检查大陆服务器收到的请求,确认Host头、SNI是否被清除。
    • 示例命令:

    curl -H "Host: original-domain.com" https://hk-proxy.com
    
  2. 全链路HTTPS监控
    • 确保香港Nginx与大陆服务器之间无HTTP回退,避免协议降级导致域名暴露。

  3. 合规性风险
    • 此方案可能违反中国大陆的备案监管政策,需评估法律风险。
    • 长期建议:重新提交备案,将服务器迁回中国大陆已备案的IP/服务商。


最终效果

用户通过香港Nginx访问服务,所有请求均经HTTPS加密,且大陆服务器无法获取原始域名信息,降低因备案失效导致的服务中断风险。但仍需尽快完成正规备案流程以彻底解决问题。

0

评论区