我已经设置了一个nginx
服务器,并使用 https 证书配置它。但我无法通过以下方式访问我的服务器https
偶尔。在某些极少数情况下,它效果很好,但是没有服务器你好在多数情况下。使用wireshark
,显示如下
编辑,下面是我的nginx conf
server {
listen 443 http2 ssl;
server_name n1.chengjie.me;
root /opt/app/html.n1.chengjie.me;
index index.html;
charset utf-8;
access_log logs/access.n1.chengjie.me.log main;
error_log logs/error.n1.chengjie.me.log;
ssl on;
ssl_certificate /etc/letsencrypt/live/chengjie.me/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/chengjie.me/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/chengjie.me/chain.pem;
gzip on;
gzip_min_length 1000;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain application/xml application/javascript text/css;
location / {
try_files $uri $uri/ /index.html;
}
location ~ .*\.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm)$
{
expires 7d;
}
location ~ .*\.(?:js|css)$
{
expires 7d;
}
}
编辑2添加一些在我的 Mac 上的测试结果:
curl -kv "https://n1.chengjie.me/"
结果如下:
openssl s_client -connect n1.chengjie.me:443
结果如下:
编辑添加服务器 tcpdump:tcpdump -i eth0 '( (tcp) and (dst port ! 22) and (port 443))'
我看到,MSS
值发生变化,客户端SYN
收到MSS 1460
但服务器收到MSS 1300
,服务器SYN
收到MSS 1460
但客户端收到MSS 1300
。服务器收到客户端的后第二 ACK
,服务器向客户端发送一个FIN
??无法理解为什么服务器发送FIN
。