如题。web server 使用的是 nginx-1.15.0,证书是用 certbot 签发的普通 SAN 证书,只包含了 a.com 和 www.a.com
nginx -V 输出如下:
nginx version: nginx/1.15.0
built by gcc 7.3.0 (Ubuntu 7.3.0-16ubuntu3)
built with OpenSSL 1.1.1-pre7 (beta) 29 May 2018
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_v2_module --with-openssl=../openssl-1.1.1-pre7 --with-openssl-opt=enable-tls1_3 --add-module=../nginx-ct
nginx 配置如下:
server {
server_name a.com www.a.com;
listen 443 ssl http2;
root /home/wwwroot/hexo;
server_tokens off;
ssl_ct on;
ssl_certificate /etc/letsencrypt/a.com.rsa.pem;
ssl_certificate_key /etc/letsencrypt/a.com.rsa.key;
ssl_ct_static_scts /etc/letsencrypt/scts/a.com;
ssl_certificate /etc/letsencrypt/a.com.ecc.pem;
ssl_certificate_key /etc/letsencrypt/a.com.ecc.key;
ssl_ct_static_scts /etc/letsencrypt/scts/a.com;
ssl_dhparam /etc/letsencrypt/dhparams.pem;
ssl_ciphers 'TLS13-AES-128-GCM-SHA256:TLS13-CHACHA20-POLY1305-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;
ssl_ecdh_curve secp384r1;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 1d;
ssl_session_tickets on;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 10s;
add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains; preload';
add_header Public-Key-Pins 'pin-sha256="YLh1dUR9y6Kja30RrAn7JKnbQG/uEtLMkBgFF2Fuihg=";pin-sha256="Fbs+o+IxVNTHBpjNQYfX/TBnxPC+OWLYxQLEtqkrAfM=";max-age=2592000; includeSubDomains';
index index.html;
location / {
expires 120s;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
expires 30d;
access_log off;
}
location ~ .*\.(js|css)?$ {
expires 7d;
access_log off;
}
}
请问可能存在哪些方面的问题?多谢各位指点。
1
qiayue 2018-06-13 18:39:33 +08:00 1
|
2
Servo 2018-06-13 18:41:47 +08:00 1
1、HPKP 已经凉了,没必要配置了。
2、letsencrypt 自带 SNI 了,没必要配置了。 3、TLSv1 TLSv1.1 两个没必要支持了。 4、ssl_ciphers 关于 TLS 1.3 的部分无意义。 5、不配置 80 端口真的大丈夫? 6、编译时不用加 --with-openssl-opt=enable-tls1_3 |
3
fourstring OP @qiayue #1 我所有的 https 服务都打开了 ssl_session_tickets on 的……
|
4
fourstring OP @qiayue #1 而且我访问带 www 的就没问题,但主域名就会报错……
|
5
fourstring OP @Servo #2 请问不配置 TLS13 的 ciphers 的话是否可以支持 tls1.3 ?
|
6
wvc 2018-06-13 18:58:02 +08:00 via Android
443 端口只绑定一个域名,然后 80 端口绑定两个,全部 301 到 443 的域名。
|
7
Servo 2018-06-13 19:25:25 +08:00 via Android 1
@fourstring Nginx 现在不支持近几个 pre 的密码套件配置,你大可删掉自己试一试。到底支持不支持,取决于你的浏览器支不支持 Draft 26/27/28。
|
9
caola 2018-06-13 20:09:57 +08:00 1
不过只是个人博客的话,放弃支持 tls1 tls1.1 和 rsa 也无所谓了,毕竟这部分的用户比率,已经可以忽略不计了
|
10
wql 2018-06-13 20:12:07 +08:00 via Android 1
Letsencrypt 自带 sct,所有和 sct 有关的全部去掉。
|
11
fourstring OP @wql #10 现在 letsencrypt 已经支持 CA 端的 CT 了?
|
12
3dwelcome 2018-06-13 21:09:52 +08:00 via Android
楼主找到问题的原因了吗?回帖真能东拉西扯啊,没一个回答问题的。
|
13
fourstring OP @3dwelcome #12 按照上面各位的建议操作了一下,这个问题暂时不见了……我还不知道问题在哪
|
14
Tink 2018-06-13 21:59:20 +08:00 via iPhone
80
|
15
msg7086 2018-06-14 02:37:13 +08:00 1
TLS13-AES-128-GCM-SHA256:TLS13-CHACHA20-POLY1305-SHA256
这两个好像是无效 cipher 吧? Valid TLSv1.3 ciphersuite names are: TLS_AES_128_GCM_SHA256 TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_CCM_SHA256 TLS_AES_128_CCM_8_SHA256 An empty list is permissible. The default value for the this setting is: "TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256" |
16
fourstring OP @msg7086 #15 https://www.openssl.org/blog/blog/2018/02/08/tlsv1.3/
OpenSSL has implemented support for five TLSv1.3 ciphersuites as follows: TLS13-AES-256-GCM-SHA384 TLS13-CHACHA20-POLY1305-SHA256 TLS13-AES-128-GCM-SHA256 TLS13-AES-128-CCM-8-SHA256 TLS13-AES-128-CCM-SHA256 |
17
msg7086 2018-06-14 08:00:19 +08:00
@fourstring 那篇文章已经过时了→_→
|
18
fourstring OP @msg7086 #17 请问哪里可以找到最新信息?
|
19
msg7086 2018-06-14 08:43:16 +08:00 1
文章第一行「 See here for the latest version 」。
|
20
fourstring OP @msg7086 #19 噗……好吧是我没看仔细
|
21
wql 2018-06-14 08:58:23 +08:00 via Android 1
@fourstring 对的,证书开始嵌入 SCT 了
|