52、配置 Web 服务器:SSL/TLS 安全与故障排除

配置 Web 服务器:SSL/TLS 安全与故障排除

1. SSL/TLS 保障 Web 流量安全

在使用标准 HTTP 协议从网站共享数据时,数据会以明文形式传输。这意味着任何能够监控服务器与客户端之间网络流量的人都可以查看未受保护的数据。为了保护这些信息,可以为网站添加证书(以便客户端验证服务器身份)并对数据进行加密(防止他人嗅探网络并查看数据)。

电子商务应用,如在线购物和银行服务,通常使用安全套接层(SSL)或传输层安全(TLS)规范进行加密。TLS 基于 SSL 规范的 3.0 版本,因此它们本质上非常相似。由于这种相似性,且 SSL 出现较早,SSL 缩写常用来指代这两种规范。对于 Web 连接,首先会建立 SSL 连接,然后通过该连接“隧道化”进行正常的 HTTP 通信。

由于 SSL 协商在任何 HTTP 通信之前进行,基于名称的虚拟主机(在 HTTP 层实现)与 SSL 配合使用并不容易。因此,每个配置的 SSL 虚拟主机都应该有一个唯一的 IP 地址。

在建立 SSL 客户端与 SSL 服务器之间的连接时,会使用非对称(公钥)加密技术来验证身份、建立会话参数和会话密钥。然后,使用对称加密算法(如 DES 或 RC4)和协商好的密钥对会话期间传输的数据进行加密。在握手阶段使用非对称加密允许在不使用预共享密钥的情况下进行安全通信,而对称加密在处理会话数据时速度更快、更实用。

为了让客户端验证服务器的身份,服务器必须有一个预先生成的私钥,以及一个包含公钥和服务器信息的证书。该证书必须能够使用客户端已知的公钥进行验证。

证书通常由第三方证书颁发机构(CA)进行数字签名,CA 会验证请求者的身份以及请求签名证书

C:\Windows\System32>curl https://ffjy.wyx.cn/m -v -L * Trying 10.14.70.112... * TCP_NODELAY set * Connected to ffjy.wyx.cn (10.14.70.112) port 443 (#0) * schannel: SSL/TLS connection with ffjy.wyx.cn port 443 (step 1/3) * schannel: checking server certificate revocation * schannel: sending initial handshake data: sending 176 bytes... * schannel: sent initial handshake data: sent 176 bytes * schannel: SSL/TLS connection with ffjy.wyx.cn port 443 (step 2/3) * schannel: encrypted data got 3446 * schannel: encrypted data buffer: offset 3446 length 4096 * schannel: sending next handshake data: sending 93 bytes... * schannel: SSL/TLS connection with ffjy.wyx.cn port 443 (step 2/3) * schannel: encrypted data got 274 * schannel: encrypted data buffer: offset 274 length 4096 * schannel: SSL/TLS handshake complete * schannel: SSL/TLS connection with ffjy.wyx.cn port 443 (step 3/3) * schannel: stored credential handle in session cache > GET /m HTTP/1.1 > Host: ffjy.wyx.cn > User-Agent: curl/7.55.1 > Accept: */* > * schannel: client wants to read 102400 bytes * schannel: encdata_buffer resized 103424 * schannel: encrypted data buffer: offset 0 length 103424 * schannel: encrypted data got 960 * schannel: encrypted data buffer: offset 960 length 103424 * schannel: decrypted data length: 931 * schannel: decrypted data added: 931 * schannel: decrypted data cached: offset 931 length 102400 * schannel: encrypted data buffer: offset 0 length 103424 * schannel: decrypted data buffer: offset 931 length 102400 * schannel: schannel_recv cleanup * schannel: decrypted data returned 931 * schannel: decrypted data buffer: offset 0 length 102400 < HTTP/1.1 302 Moved Temporarily < Server: Tengine/3.1.0 < Date: Thu, 06 Nov 2025 03:29:40 GMT < Content-Type: text/html < Content-Length: 428 < Connection: keep-alive < Location: /ffjy.wyx.cn/m/ < x-cos-error-code: Found < x-cos-error-message: Resource Found < x-cos-request-id: NjkwYzE2MjRfZTBiNGMyMDlfZWM3ZF85NTc0ZTg5 < x-cos-trace-id: OGVmYzZiMmQzYjA2OWNhODk0NTRkMTBiOWVmMDAxODc0OWRkZjk0ZDM1NmI1M2E2MTRlY2MzZDhmNmI5MWI1OTQ5YWUxMjNkYTk3NzdjZmZlMDQzOTgxOThkOTNlOWFkOGM3NjAzZWUzZjM0NWVjNzUzZWIyMDc3NjRkNGQwNWY= < * Ignoring the response-body * Connection #0 to host ffjy.wyx.cn left intact * Issue another request to this URL: 'https://ffjy.wyx.cn/ffjy.wyx.cn/m/' * Found bundle for host ffjy.wyx.cn: 0x1ee99dd2310 [can pipeline] * Re-using existing connection! (#0) with host ffjy.wyx.cn * Connected to ffjy.wyx.cn (10.14.70.112) port 443 (#0) > GET /ffjy.wyx.cn/m/ HTTP/1.1 > Host: ffjy.wyx.cn > User-Agent: curl/7.55.1 > Accept: */* > * schannel: client wants to read 102400 bytes * schannel: encrypted data buffer: offset 0 length 103424 * schannel: encrypted data got 921 * schannel: encrypted data buffer: offset 921 length 103424 * schannel: decrypted data length: 892 * schannel: decrypted data added: 892 * schannel: decrypted data cached: offset 892 length 102400 * schannel: encrypted data buffer: offset 0 length 103424 * schannel: decrypted data buffer: offset 892 length 102400 * schannel: schannel_recv cleanup * schannel: decrypted data returned 892 * schannel: decrypted data buffer: offset 0 length 102400 < HTTP/1.1 404 Not Found < Server: Tengine/3.1.0 < Date: Thu, 06 Nov 2025 03:29:40 GMT < Content-Type: text/html < Content-Length: 486 < Connection: keep-alive < x-cos-request-id: NjkwYzE2MjRfZTIwZWJiMDlfNzUxZl85YTI2OWRm < x-cos-trace-id: OGVmYzZiMmQzYjA2OWNhODk0NTRkMTBiOWVmMDAxODc0OWRkZjk0ZDM1NmI1M2E2MTRlY2MzZDhmNmI5MWI1OTQ5YWUxMjNkYTk3NzdjZmZlMDQzOTgxOThkOTNlOWFkOGM3NjAzZWUzZjM0NWVjNzUzZWIyMDc3NjRkNGQwNWY= < <html> <head><title>404 Not Found</title></head> <body> <h1>404 Not Found</h1> <ul> <li>Code: NoSuchKey</li> <li>Message: The specified key does not exist.</li> <li>Key: ffjy.wyx.cn/ffjy.wyx.cn/m/index.html</li> <li>RequestId: NjkwYzE2MjRfZTIwZWJiMDlfNzUxZl85YTI2OWRm</li> <li>TraceId: OGVmYzZiMmQzYjA2OWNhODk0NTRkMTBiOWVmMDAxODc0OWRkZjk0ZDM1NmI1M2E2MTRlY2MzZDhmNmI5MWI1OTQ5YWUxMjNkYTk3NzdjZmZlMDQzOTgxOThkOTNlOWFkOGM3NjAzZWUzZjM0NWVjNzUzZWIyMDc3NjRkNGQwNWY=</li> </ul> </body> </html> * Connection #0 to host ffjy.wyx.cn left intact
11-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值