HTTPS/HTTP协议常见问题分享

HTTPS/HTTP协议常见问题分享
最新回答
陌生De自我ヾ忘却

2024-01-15 03:34:12

HTTPS/HTTP协议常见问题及解答如下

HTTPS端口相关
  • HTTPS监听使用什么端口HTTPS监听端口无特殊要求,建议使用443端口(默认端口),也可根据实际需求配置其他端口。
HTTPS证书格式与配置
  • 支持的证书格式HTTPS仅支持PEM格式的证书。若证书为其他格式(如PFX、DER),需通过工具(如OpenSSL)转换为PEM格式后再上传。

    转换示例:

    openssl pkcs12 -in cert.pfx -out cert.pem -nodes # PFX转PEM
  • 证书配置方式

    单向认证:仅需上传服务器证书到负载均衡的证书管理系统。

    双向认证:需同时上传服务器证书CA证书

    服务器证书:用于浏览器验证服务器身份。

    CA证书:用于服务器验证客户端证书(如用户证书)。

HTTPS双向认证相关
  • 服务器证书与CA证书的区别

    服务器证书:由受信任的CA签发,浏览器通过验证该证书确认服务器合法性。

    CA证书:服务器用其验证客户端证书。若客户端证书未由该CA签发,连接将被拒绝。

    双向认证流程

    客户端请求连接,服务器发送CA证书要求。

    客户端发送客户端证书,服务器用CA证书验证其有效性。

    验证通过后建立加密连接。

HTTPS流量与性能
  • 实际流量比账单流量多HTTPS协议需通过握手过程协商加密参数(如密钥、算法),此过程会产生额外流量,导致实际流量略高于账单统计值。
  • 会话Ticket保持时间

    默认设置为300秒(5分钟)。

    作用:通过加密的Ticket(含会话密钥等信息)实现TLS会话复用,减少重复握手开销。

    流程

    初始握手时,服务器发送Ticket至客户端。

    客户端后续连接时发送Ticket,服务器解密后复用会话。

HTTPS算法与安全参数
  • DH参数上传限制

    线上SLB七层HTTPS使用ECDHE算法(支持前向保密),不支持上传DHE算法的DH参数文件(如含BEGIN DH PARAMETERS的PEM文件)。

    原因:ECDHE已提供足够安全性,无需额外配置。

HTTPS监听功能限制
  • 不支持SNI(Server Name Indication)

    问题:SLB HTTPS监听无法通过SNI实现一个服务器绑定多个域名证书。

    解决方案:改用TCP监听,并在后端ECS服务器上配置SNI功能。

HTTP转HTTPS配置
  • 强制跳转HTTPS方法

    创建HTTP监听时,开启附加HTTP头字段(如X-Forwarded-Proto)。

    后端ECS通过检查该字段值:

    若为http,则返回HTTPS重定向响应(如301 Moved Permanently)。

    示例代码(Nginx):

    if ($http_x_forwarded_proto = "http") { return 301 https://$host$request_uri;}
浏览器安全提示问题
  • HTTPS页面显示“不安全”

    原因:页面中嵌入了HTTP资源(如图片、脚本)。

    解决方案

    检查页面所有资源链接,确保均为HTTPS。

    使用相对路径或协议无关的URL(如//example.com/image.jpg)。

    通过浏览器开发者工具(Network面板)排查混合内容。

其他常见问题
  • 证书过期或配置错误

    现象:浏览器提示“证书无效”或连接失败。

    检查项:

    证书有效期(通过openssl x509 -in cert.pem -noout -dates查看)。

    证书链完整性(确保中间证书已正确配置)。

  • 性能优化建议

    启用HTTP/2(需HTTPS支持)以减少连接开销。

    使用OCSP Stapling加速证书状态验证。

    配置HSTS(HTTP Strict Transport Security)强制浏览器使用HTTPS。