<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>技术 on SecDoc</title>
    <link>https://secdoc.jazor.net/categories/%E6%8A%80%E6%9C%AF/</link>
    <description>Recent content in 技术 on SecDoc</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-cn</language>
    <copyright>© 2026 黑豆子</copyright>
    <lastBuildDate>Sun, 05 Apr 2026 17:20:00 +0800</lastBuildDate><atom:link href="https://secdoc.jazor.net/categories/%E6%8A%80%E6%9C%AF/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>HTTPS 混合内容问题及解决方案</title>
      <link>https://secdoc.jazor.net/posts/https-mixed-content-solution/</link>
      <pubDate>Sun, 05 Apr 2026 17:20:00 +0800</pubDate>
      
      <guid>https://secdoc.jazor.net/posts/https-mixed-content-solution/</guid>
      <description>当 HTTPS 页面加载 HTTP 资源时，就会产生混合内容（Mixed Content）。浏览器会阻止不安全的请求，导致页面功能异常。本文介绍混合内容的类型、排查方法和解决方案。
什么是混合内容 HTTPS 页面中通过 HTTP 加载的资源称为混合内容：
1 2 3 4 &amp;lt;!-- HTTPS 页面中的混合内容 --&amp;gt; &amp;lt;script src=&amp;#34;http://example.com/script.js&amp;#34;&amp;gt;&amp;lt;/script&amp;gt; &amp;lt;img src=&amp;#34;http://example.com/image.jpg&amp;#34;&amp;gt; &amp;lt;link rel=&amp;#34;stylesheet&amp;#34; href=&amp;#34;http://example.com/style.css&amp;#34;&amp;gt; 混合内容类型 混合被动内容（Mixed Passive Content） 低风险资源，浏览器通常只显示警告：
&amp;lt;img&amp;gt; 图片 &amp;lt;audio&amp;gt; / &amp;lt;video&amp;gt; 媒体 &amp;lt;object&amp;gt; 子资源 混合主动内容（Mixed Active Content） 高风险资源，浏览器会直接阻止：
&amp;lt;script&amp;gt; 脚本 &amp;lt;link&amp;gt; 样式表 &amp;lt;iframe&amp;gt; 内嵌页面 XMLHttpRequest / Fetch 请求 &amp;lt;frame&amp;gt; / &amp;lt;object&amp;gt; 加载的页面 排查方法 浏览器控制台 打开开发者工具（F12），查看 Console 和 Security 面板：
1 2 3 Mixed Content: The page at &amp;#39;https://example.</description>
    </item>
    
    <item>
      <title>OpenSSL s_client：SSL/TLS 连接调试工具</title>
      <link>https://secdoc.jazor.net/posts/openssl-s-client-ssl-tls-tool/</link>
      <pubDate>Sun, 05 Apr 2026 17:20:00 +0800</pubDate>
      
      <guid>https://secdoc.jazor.net/posts/openssl-s-client-ssl-tls-tool/</guid>
      <description>openssl s_client 是调试 SSL/TLS 连接的利器。它可以建立到远程服务器的 SSL/TLS 连接，显示证书链、协议版本、加密套件等详细信息，是排查 HTTPS 问题的必备工具。
基本用法 连接 HTTPS 服务器 1 openssl s_client -connect example.com:443 执行后会显示完整的 SSL/TLS 握手信息，包括证书链、协议版本、加密套件等。
指定 SNI（Server Name Indication） 对于共享 IP 的虚拟主机，必须指定 SNI：
1 openssl s_client -connect example.com:443 -servername example.com 不指定 SNI 时，服务器可能返回默认证书，导致证书验证失败。
常用场景 1. 查看证书信息 提取服务器证书并查看详情：
1 2 3 4 5 # 获取证书 echo | openssl s_client -connect www.baidu.com:443 -servername www.baidu.com 2&amp;gt;/dev/null | openssl x509 -noout -text # 只看有效期 echo | openssl s_client -connect www.</description>
    </item>
    
    <item>
      <title>使用 OpenSSL 检查证书有效期</title>
      <link>https://secdoc.jazor.net/posts/openssl-check-certificate-validity/</link>
      <pubDate>Sun, 05 Apr 2026 17:20:00 +0800</pubDate>
      
      <guid>https://secdoc.jazor.net/posts/openssl-check-certificate-validity/</guid>
      <description>证书过期会导致服务不可用，提前监控证书有效期是运维的基本功。OpenSSL 提供了多种检查证书有效期的方法。
检查远程服务器证书 查看有效期 1 echo | openssl s_client -connect www.baidu.com:443 -servername www.baidu.com 2&amp;gt;/dev/null | openssl x509 -noout -dates 输出：
1 2 notBefore=Jul 9 07:01:02 2025 GMT notAfter=Aug 10 07:01:01 2026 GMT notBefore：证书生效日期 notAfter：证书过期日期 检查本地证书文件 1 openssl x509 -in certificate.crt -noout -dates 查看剩余天数 1 openssl x509 -in certificate.crt -noout -checkend 0 输出：
Certificate will not expire：证书未过期 Certificate will expire：证书已过期 检查是否在 30 天内过期（2592000 秒）：
1 openssl x509 -in certificate.crt -noout -checkend 2592000 返回码：</description>
    </item>
    
  </channel>
</rss>
