本地访问网站时浏览器获取过期RDP证书而非正确SSL证书求助
解决本地访问IIS网站获取过期RDP证书的问题
核心问题分析
你遇到的是内网访问公网域名时的路由/解析冲突:外部(手机、在线工具)访问走公网路由,能正确到达IIS设备拿到有效证书;但本地访问时,请求可能被内网里的Server 2019(带过期RDP证书)拦截,或者DNS解析指向了错误的内网设备。
具体排查和解决步骤
检查本地DNS解析结果
在本地Windows 10设备的命令提示符里执行:nslookup freedomtrade101.com如果返回的IP是Server 2019的内网IP,说明内网DNS把域名解析错了。解决办法:
- 编辑本地
hosts文件(路径:C:\Windows\System32\drivers\etc\hosts),添加一行:
保存后执行[你的IIS设备内网IP] freedomtrade101.comipconfig /flushdns刷新缓存,再访问网站试试。 - 或者修改内网DNS服务器的记录,把该域名指向IIS设备的内网IP。
- 编辑本地
排查Server 2019是否占用443端口
在Server 2019上打开命令提示符,执行:netstat -ano | findstr ":443"如果结果里有RDP相关进程(比如
svchost.exe,可通过PID在任务管理器对应),说明RDP被改成监听443端口,会导致内网访问443时优先连接到Server 2019。解决办法:- 修改RDP监听端口:打开注册表编辑器,定位到
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp,修改PortNumber的值(比如改成3390),重启Server 2019的远程桌面服务即可,不会影响RDP正常使用。
- 修改RDP监听端口:打开注册表编辑器,定位到
验证NAT回环配置
多数家用路由器默认不支持NAT回环(即内网设备用公网域名访问内网服务时,路由器无法正确转发到目标设备)。如果DNS解析是公网IP,但本地访问仍拿到错误证书,说明路由器端口转发对内网请求不生效,此时用hosts文件强制指向IIS内网IP是最直接的解决办法。清除本地SSL缓存
浏览器或系统可能缓存了过期的RDP证书,导致即使连接正确设备也报错:- 系统层面:打开
控制面板\所有控制面板项\Internet选项,切换到「内容」标签,点击「证书」,找到那张三过期的RDP证书删除。 - 浏览器层面:清除浏览器缓存和SSL状态(比如Chrome在设置->隐私和安全->安全->管理证书里操作,或直接清除所有缓存)。
- 系统层面:打开
额外验证
修改hosts后,在本地设备执行curl -v https://freedomtrade101.com查看证书信息,确认返回的是Let's Encrypt的有效证书,而非RDP的过期证书。
内容的提问来源于stack exchange,提问作者RanAground
相关产品推荐
相关产品推荐

