HTTPS跳转_混合内容与跳转
HTTPS跳转时分清是证书问题还是配置问题。证书问题:过期、域名不匹配、链不完整;配置问题:未强制跳转、混合内容、端口未开、CDN 未同步。浏览器地址栏点锁图标看证书详情,能判断是哪种问题。
强制 HTTPS:Nginx 用 server { listen 80; return 301 https://$host$request_uri; };Apache 用 .htaccess RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301];IIS 用 URL Rewrite 规则。跳转后用 curl -I http://域名确认返回301。
参考(SSL配置与排查): ``` # Nginx SSL配置 server { listen 443 ssl http2; server_name 域名; ssl_certificate /www/server/panel/vhost/cert/域名/fullchain.pem; ssl_certificate_key /www/server/panel/vhost/cert/域名/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; add_header Strict-Transport-Security "max-age=31536000" always; root /www/wwwroot/域名; index index.html index.php; }
# HTTP跳转HTTPS server { listen 80; server_name 域名; return 301 https://$host$request_uri; }
# 检查证书有效期 openssl s_client -connect 域名:443 -servername 域名 2>/dev/null | openssl x509 -noout -dates -subject
# Apache .htaccess强制HTTPS RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] ```
SSL 性能:开启 HTTP/2(Nginx listen 443 ssl http2)提升加载速度;开启 OCSP Stapling 减少证书校验时间;TLS 1.2/1.3(禁用 SSLv3/TLS1.0/1.1);会话缓存(ssl_session_cache)。配置后 HTTPS 性能接近 HTTP,用户感知不到延迟。
证书错误速查:NET::ERR_CERT_DATE_INVALID 证书过期;ERR_CERT_COMMON_NAME_INVALID 域名不匹配;ERR_CERT_AUTHORITY_INVALID 证书链不完整或自签名证书;ERR_SSL_PROTOCOL_ERROR 协议或配置错;ERR_SSL_VERSION_OR_CIPHER_MISMATCH TLS 版本/加密套件不兼容。根据错误码定位。

更新时间:2026-08-26 22:08:16