<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[[实践OK]Nginx开Tls1.3时遇到还是Tls1.2的原因排查，之 443端口default没有采用TLS1.3所导致的排查方法。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Web服务器]]></category>
<pubDate>Sat, 07 Nov 2026 13:29:32 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	直接用curl访问一个不存在的IP，看看默认是哪个域名，通过域名进入Nginx里面把对应的默认的域名配置的TLS1.2给去掉即可，如下面这个得到t.boosh.com.cn,发现它并不对外开放443，然后：<br/><br/>找到 443 的默认虚拟主机<br/>在 123.57.232.131 上执行，使用正在运行的 OpenResty 对应的 nginx 命令：<br/>nginx -T 2&gt;&amp;1 &#124;<br/>&nbsp;&nbsp;grep -nE &#039;^# configuration file&#124;^[[:space:]]*(include&#124;listen&#124;server_name&#124;ssl_protocols&#124;ssl_certificate&#124;proxy_pass)[[:space:]]&#039;<br/><br/>看同一个监听地址的 443 配置。有 default_server 就改对应的 server 块，否则看配置解析顺序中第一个监听该地址 443 的 server 块。结合你前面遇到的情况，先在这个 443 默认块里启用 TLS 1.3，同时保留 TLS 1.2：<br/>ssl_protocols TLSv1.2 TLSv1.3;<br/><br/>下面命令出现第一个443的域名就是：chat.jackxiang.com ，对它进行修改即可！！！<br/><br/>#nginx -T 2&gt;&amp;1 &#124;<br/>&gt;&nbsp;&nbsp; grep -nE &#039;^# configuration file&#124;^[[:space:]]*(include&#124;listen&#124;server_name&#124;ssl_protocols&#124;ssl_certificate&#124;proxy_pass)[[:space:]]&#039;<br/>3:# configuration file /usr/local/openresty/nginx/conf/nginx.conf:<br/>21:&nbsp;&nbsp;&nbsp;&nbsp;include&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mime.types;<br/>77:&nbsp;&nbsp;&nbsp;&nbsp;include vhosts/*.conf;<br/>78:&nbsp;&nbsp;&nbsp;&nbsp;include vhosts/traefik.jackxiang.com/*.conf;<br/>81:# configuration file /usr/local/openresty/nginx/conf/mime.types:<br/>182:# configuration file /usr/local/openresty/nginx/conf/vhosts/default.conf:<br/>184:&nbsp;&nbsp;&nbsp;&nbsp;listen 80;<br/>185:&nbsp;&nbsp;&nbsp;&nbsp;server_name 127.0.0.1;<br/>200:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include fastcgi_params;<br/>208:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include fastcgi_params;<br/>226:# configuration file /usr/local/openresty/nginx/conf/fastcgi_params:<br/>253:# configuration file /usr/local/openresty/nginx/conf/vhosts/traefik.jackxiang.com/bin.jackxiang.com.conf:<br/>256:&nbsp;&nbsp;&nbsp;&nbsp;listen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80;<br/>257:&nbsp;&nbsp;&nbsp;&nbsp;server_name&nbsp;&nbsp;bin.jackxiang.com;<br/>259:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_pass http://10.10.0.237/;<br/>266:# configuration file /usr/local/openresty/nginx/conf/vhosts/traefik.jackxiang.com/boosh.com.cn.conf:<br/>269:&nbsp;&nbsp;&nbsp;&nbsp;listen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80;<br/>270:&nbsp;&nbsp;&nbsp;&nbsp;server_name&nbsp;&nbsp;boosh.com.cn www.boosh.com.cn;<br/>287:&nbsp;&nbsp;&nbsp;&nbsp;listen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80;<br/>288:&nbsp;&nbsp;&nbsp;&nbsp;server_name&nbsp;&nbsp;ipv4.boosh.com.cn;<br/>299:# configuration file /usr/local/openresty/nginx/conf/vhosts/traefik.jackxiang.com/chat.jackxiang.com.conf:<br/>301:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80; <br/>302:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server_name&nbsp;&nbsp;chat.jackxiang.com;<br/>307:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listen 443 ssl;<br/>308:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server_name&nbsp;&nbsp;chat.jackxiang.com;<br/>309:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ssl_certificate ssl/ssl.traefik.jackxiang.com/chat.jackxiang.com_bundle.crt;<br/>312:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ssl_protocols TLSv1.2 TLSv1.3;<br/>326:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_pass http://10.10.0.237/;<br/><br/><br/>nginx-default-https-vhost (1).md<br/><br/>![](https://jackxiang.com/attachment.php?fid=1381){width=500px}<br/><br/>可以。**要看 `10.10.0.1:443` 的默认 HTTPS 站点，先用 `openssl s_client -noservername`。** 这会在握手时省略 SNI，让 OpenResty 返回该监听地址的默认证书。<br/><br/>```bash<br/>openssl s_client -connect 10.10.0.1:443 &#92;<br/>&nbsp;&nbsp;-noservername -showcerts &lt;/dev/null 2&gt;/dev/null &#124;<br/>&nbsp;&nbsp;openssl x509 -noout -subject -ext subjectAltName -fingerprint -sha256<br/>```<br/><br/>如果证书只对应 `chat.jackxiang.com`，就能从访问结果识别默认站点。**如果几个站点共用同一张通配符证书，证书只能告诉你入口用了哪张证书。** 这时可以再发一个 `Host` 不匹配任何站点的 HTTP 请求，看看默认站点返回的响应或写入哪份访问日志：<br/><br/>```bash<br/>curl --noproxy &#039;*&#039; -vk &#92;<br/>&nbsp;&nbsp;-H &#039;Host: no-such-vhost.invalid&#039; &#92;<br/>&nbsp;&nbsp;https://10.10.0.1/<br/>```<br/><br/>这里 URL 用 IP，`Host` 用一个不存在的域名。反过来，如果写 `-H &#039;Host: jackxiang.com&#039;`，TLS 握手之后，HTTP 请求仍可能被路由到 `jackxiang.com`。如果用 `curl --resolve jackxiang.com:443:10.10.0.1 https://jackxiang.com/`，curl 会按域名发送 SNI 和 `Host`，适合测指定站点。<br/><br/>如果几个站点的证书和响应都一样，**用 `nginx -T` 核对配置最直接**。看同一监听地址是否有显式的 `default_server`，没有就按实际配置加载顺序找第一个 `listen 443 ssl;` 的 `server` 块。你之前贴的输出里，`chat.jackxiang.com` 的 443 块排在最前面，而且修改它的协议设置后，`jackxiang.com` 的 TLS 1.3 握手立即恢复。这两条证据已经能确认你当时命中的默认站点。
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践OK]Nginx开Tls1.3时遇到还是Tls1.2的原因排查，之 443端口default没有采用TLS1.3所导致的排查方法。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>