部署到iis无法访问

使用webapi写了一个数据接口,调试的时候风雨无阻。然而,当部署到iis之后,起初并没有在意,把以前写好的前端都部署到了一起。当想开发前端时,突然发现已经部署的webapi数据接口竟然无法访问。
使用soupui测试了下,也无法访问,并报错:


2789632-67b3c6a768f67376.png

额,倒腾半天,也没搞定,于是就换了一个端口,改成8032,这个暂且当作一个已知问题,以后偶遇再来解决。


2789632-72634b029e09525e.png

网站那边也是通的。
暂且怀疑是否因为防火墙的缘故。


2789632-3b18269684ea9294.png
公众号.png
### IIS HTTPS 443 端口无法访问的解决方案 当遇到 IIS 中 HTTPS 使用 443 端口无法访问的情况时,可能的原因包括防火墙未开放端口、站点配置错误或 SSL 证书绑定问题。以下是详细的排查和解决方法: #### 1. **确认防火墙设置** 如果服务器上的防火墙阻止了外部流量进入 443 端口,则可能导致外网无法访问该端口。可以通过以下步骤检查并调整防火墙规则: - 打开 Windows Defender 防火墙管理工具(`control.exe`),导航到“入站规则”部分。 - 检查是否存在允许 TCP 流量通过 443 端口的规则。如果没有,请创建一个新的入站规则: - 类型:端口 - 协议:TCP - 特定本地端口:443 - 动作:允许连接[^3] #### 2. **验证站点标识符与主机头绑定** 在 IIS 多站点环境下,多个网站共享同一个 IP 地址和 443 端口时,需要为每个站点单独配置主机头以区分请求。具体操作如下: - 确认 `adsutil.vbs` 脚本的位置通常位于 `C:\Inetpub\AdminScripts` 文件夹中。 - 获取目标站点的唯一标识符(可通过 MetaBase.xml 或 IIS Manager 查询)。例如,“1592095342”表示某个特定站点。 - 运行命令行脚本来绑定主机头至指定站点: ```batch cscript.exe C:\Inetpub\AdminScripts\adsutil.vbs set /w3svc/<站点ID>/SecureBindings ":443:<域名>" ``` 替换 `<站点ID>` 和 `<域名>` 为你实际使用的值。例如: ```batch cscript.exe C:\Inetpub\AdminScripts\adsutil.vbs set /w3svc/1592095342/SecureBindings ":443:www.example.com" ``` #### 3. **检查 SSL 证书安装情况** 确保已正确安装有效的 SSL/TLS 证书,并将其关联到相应的 IIS 站点。如果证书过期或者不匹配,可能会导致客户端浏览器拒绝建立安全连接。 #### 4. **监控网络服务状态** 利用资源监视器 (`resmon.exe`) 来观察当前运行的服务以及监听中的端口列表。正常情况下,在启用 HTTPS 后应能看到进程 `httpd.exe` 正在侦听 443 端口。如果没有发现相应记录,则说明可能存在启动失败或者其他技术障碍。 完成上述所有步骤之后重新尝试从外界访问您的 Web 应用程序应该能够解决问题。 ```python import socket def test_port(host, port): try: with socket.create_connection((host, port), timeout=5) as sock: return True except Exception: return False print(test_port('yourserverip', 443)) # Replace 'yourserverip' accordingly. ``` 以上 Python 小片段可以帮助快速检测远程机器上某给定地址及端口是否可达。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值