You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure VPN网关安全访问配置SSL的自定义域名Web服务?

解决方案

核心问题分析

连接点到站点(P2S)VPN后访问域名失败的本质原因:

  • 默认情况下,域名解析返回公网IP,流量走本地公网链路,源IP是你的本地公网IP,不在NSG的443端口允许列表内,被拦截。
  • 访问私有IP成功是因为流量走VPN私网链路,NSG默认允许VNet内部/VPN地址池的流量(或你已有对应放行规则)。

具体实现步骤

1. 配置Azure私有DNS,让域名解析到VM私有IP

  • 在Azure门户创建私有DNS区域,域名设置为你的自定义域名(比如customdomain.com)。
  • 在该DNS区域添加一条A记录:
    • 名称:留空(或@)对应根域名customdomain.com;若为子域名则填写子域名名称。
    • IP地址:填写VM的私有IP地址。
  • 将私有DNS区域关联到VM所在的虚拟网络,确保VNet内资源和VPN客户端能使用该DNS解析规则。

2. 配置P2S VPN的DNS服务器

  • 编辑Azure VPN网关的P2S配置,指定DNS服务器为Azure默认DNS(168.63.129.16),确保VPN客户端连接后会使用Azure DNS服务,从而解析到私有DNS区域的记录。

3. 确保NSG允许VPN地址池访问443端口

  • 在VM的NSG中添加一条入站规则:
    • 优先级:设为比现有443允许规则更高(比如100)。
    • 源:选择IP地址,填写你的P2S VPN地址池(比如10.1.0.0/24)。
    • 端口:443。
    • 协议:TCP。
    • 动作:允许。
  • 这条规则确保走VPN链路的流量(源IP为VPN地址池)能通过NSG访问VM的443端口。

4. 验证Nginx配置

  • 检查Nginx的server块,确保server_name包含你的自定义域名,且SSL证书配置正确(与域名匹配):
server {
    listen 443 ssl;
    server_name customdomain.com;

    ssl_certificate /path/to/your/cert.pem;
    ssl_certificate_key /path/to/your/key.pem;

    # 其他业务配置...
}

这样通过域名访问时,SSL证书会正常匹配,保证访问安全。

测试验证

  1. 重新连接P2S VPN。
  2. 在本地终端执行nslookup customdomain.com,确认返回结果为VM的私有IP。
  3. 访问https://customdomain.com,此时流量走VPN私网链路,NSG放行VPN地址池IP,且SSL证书匹配,实现安全访问。

内容的提问来源于stack exchange,提问作者Darwin Wilmut J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 04:45:36