IIS HTTPS 网页可能暂时无法连接,或者它已永久性地移动到了新网址 ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY

IIS服务器HTTPS无法访问问题及解决方法

问题描述:站点突然无法访问,经排查发现,HTTP协议的网址可以继续访问,HTTPS的网址不可以访问。

问题分析:在Windows更新和滚动之后,由于 HTTP/2,当站点启动了 HTTP/2 连接,会出现一个会被浏览器列入黑名单的密码,所以浏览器阻止了对网站的访问。因此,通常的解决方案是重新排序密码套件以满足 HTTP/2 的要求。 

IIS 服务器报错 ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY

        导致这个问题的原因应该是Windows server版本默认开启了http2,但是启用了一些不安全的加密套件导致的。

下面提供两种解决方法,请自行验证对你服务器是否可行:

解决方法一:

修改加密套件和加密协议,使用工具IISCrypto配置解决

IISCrypto 下载: https://download.youkuaiyun.com/download/hefeng_aspnet/89786692 

下图中第2步点击为默认选中一些加密套件,可以忽略第2步,按图中勾选或按自己需求勾选即可。 

 

下图中第2步点击为默认选中一些加密套件,可以忽略第2步,按图中勾选或按自己需求勾选即可。 

解决方法二:

禁用HTTP2,修改注册表这个方法应该也可以实现,但是不建议,建议还是使用方案一。

运行regedit打开注册表,进入[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters]

新建“32位值”:

名称分别为“EnableHttp2Tls”、“EnableHttp2Cleartext”

“EnableHttp2Tls”=dword:00000000

“EnableHttp2Cleartext”=dword:00000000 

两个方法都需要重启服务器才能生效。 

### 解决 ThinkPHP 项目运行在 http://0.0.0.0:8000/ 上无法访问的问题 当尝试通过 `php think run` 启动 ThinkPHP 内置服务器时,如果出现错误代码 `ERR_ADDRESS_INVALID`,通常是因为地址配置不正确或网络环境问题。以下是解决此问题的详细方法: #### 1. 修改启动命令中的绑定地址 默认情况下,`php think run` 命令会将服务器绑定到 `http://0.0.0.0:8000/`。然而,`0.0.0.0` 是一个通配符地址,表示监听所有网络接口,但浏览器无法直接访问该地址。可以将绑定地址更改为具体的本地地址,例如 `127.0.0.1` 或 `localhost`。 使用以下命令重新启动服务器: ```bash php think run -h 127.0.0.1 -p 8000 ``` 此命令明确指定服务器绑定到 `127.0.0.1` 地址,并使用端口 `8000`[^1]。 #### 2. 检查防火墙和端口占用情况 确保端口 `8000` 没有被其他程序占用,并且防火墙没有阻止该端口的访问。可以通过以下命令检查端口占用情况: ```bash netstat -an | grep 8000 ``` 如果端口已被占用,请选择其他端口并重新启动服务器: ```bash php think run -h 127.0.0.1 -p 8080 ``` #### 3. 验证 PHP 环境和扩展 ThinkPHP 的正常运行依赖于多个 PHP 扩展。确保以下扩展已启用: - `pdo` - `mbstring` - `curl` - `json` 可以通过以下命令检查 PHP 配置: ```bash php -m | grep -E 'pdo|mbstring|curl|json' ``` 如果缺少某些扩展,请根据操作系统安装相应的 PHP 扩展[^2]。 #### 4. 检查路由配置 如果服务器成功启动但仍无法访问页面,可能是路由配置问题。请确认 `public/index.php` 文件中的路由配置是否正确。例如,确保以下代码片段存在: ```php // 定义应用目录 define('APP_PATH', __DIR__ . '/../application/'); // 加载框架引导文件 require __DIR__ . '/../thinkphp/start.php'; ``` #### 5. 测试 URL 访问 启动服务器后,尝试通过以下地址访问项目: - `http://127.0.0.1:8000` - `http://localhost:8000` 如果仍然无法访问,请检查浏览器的开发者工具(F12)中的网络请求状态,以获取更多错误信息[^3]。 #### 6. 使用 Web 服务器替代内置服务器 如果内置服务器无法正常工作,可以考虑使用 Apache 或 Nginx 部署项目。例如,在 Nginx 中配置站点时,确保 `root` 指向项目的 `public` 目录,并添加以下重写规则: ```nginx location / { try_files $uri $uri/ /index.php?$query_string; } ``` --- ### 注意事项 - 如果项目中有自定义域名配置,请确保 `/etc/hosts` 文件中添加了正确的映射。 - 在生产环境中,建议避免使用内置服务器,而是使用专业的 Web 服务器如 Nginx 或 Apache[^4]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hefeng_aspnet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值