ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

phpEnv配置站点启用TLS 1.3 phpEnv安全加密升级

phpEnv配置站点启用TLS 1.3 phpEnv安全加密升级 phpEnv 本身不直接处理 TLS 协议协商它只是一个 Windows 下的 PHP 环境集成包含 Apache/Nginx PHP MySQL真正启用 TLS 1.3 的责任在它所搭载的 Web 服务器上 —— 你用的是 Apache 还是 Nginx两者配置逻辑完全不同混用会导致ssl_protocols不生效甚至服务启动失败。确认底层 Web 服务器和 OpenSSL 版本phpEnv 默认捆绑的 Apache 或 Nginx 往往基于较旧的 OpenSSL如 1.0.2 或 1.1.0而 TLS 1.3 要求 OpenSSL ≥ 1.1.1。不升级就硬加TLSv1.3Nginx 会静默忽略Apache 则可能报错或降级到 TLS 1.2。打开 phpEnv 控制面板 → “软件管理” → 查看 Apache/Nginx 的版本及编译信息在命令行执行phpenv\nginx\nginx.exe -V或phpenv\apache\bin\httpd.exe -V搜索OpenSSL字样若显示OpenSSL 1.1.1或更高如1.1.1w可继续否则必须手动替换 OpenSSL DLL 并重编译/替换服务器二进制风险高不推荐新手操作注意phpEnv 官方未提供 TLS 1.3 就绪版绝大多数用户实际运行的是 OpenSSL 1.0.2u此时TLSv1.3配置无效。Nginx 模式下启用 TLS 1.3 的最小安全配置如果你确认 phpEnv 使用的是 Nginx 且 OpenSSL ≥ 1.1.1修改站点对应的nginx/conf/vhost/xxx.conf中的server块ssl_protocols必须显式包含TLSv1.2 TLSv1.3不能只写TLSv1.3否则 IE11、旧安卓 WebView 会直连失败ssl_ciphers必须**严格区分 TLS 1.3 和 TLS 1.2 套件**TLS 1.3 套件名以TLS_AES_或TLS_CHACHA20_开头不能混入ECDHE-RSA-AES256-GCM-SHA384这类 TLS 1.2 套件推荐写法ssl_ciphers TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;删掉ssl_prefer_server_ciphers on;—— TLS 1.3 下该指令已无作用保留反而干扰调试配置后务必运行nginx -t测试语法再用 phpEnv 面板重启 Nginx。Apache 模式下 TLS 1.3 配置陷阱Apache 2.4.37 才原生支持 TLS 1.3但 phpEnv 捆绑的 Apache 多为 2.4.23 或更早。即使强行升级SSLProtocol指令不支持TLSv1.3字面量需用TLSv1.3且依赖 mod_ssl 编译选项。
返回列表