技术解析

配置好了 nginx 但是 https 仍然访问不了
0
1975-02-21 04:12:00
idczone
server {
         listen 443;
         server_name  www.yozann.com;

         ssl                  on;
         ssl_certificate /usr/local/nginx/conf/1_www.yozann.com_bundle.crt;
         ssl_certificate_key /usr/local/nginx/conf/2_www.yozann.com.key;国外服务器

         ssl_session_timeout  5m;

         ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
         ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
         ssl_prefer_server_ciphers   on;

        location / {
            root   html;
            index  index.html index.htm;
         }
     }

防火墙 443 已开,443 端口也开着的。 请问还应该从哪里排查,access.log 访问 https 没有记录。


这个域名 DNS 都解析不了。。。。。。

用这个 yozosann 这个域名是我随便改的

listen 443 ssl;

试了下 还是没用- - 会不会证书问题啊

不加 ssl 链接是这样的 http://www.yozann.com:443

apache 欢迎你~ 别的不说,最起码错误日志完善。

装好 nginx 后,用默认设置跑一边 certbot --nginx,https 就配置好了。
不要自己瞎折腾了。

nginx -t

caddy 欢迎你

楼主配置了写了 ssl on 了,不需要在 listen 里加 ssl 了

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

我的机子上面的这个选项是上面那样的,其他跟楼主一样,我也不清楚这是啥。另外楼主确保域名能 ping 到你服务器 IP ?

https://mozilla.github.io/server-side-tls/ssl-config-generator/

root 用绝对路径试试

访问不了有很多原因,浏览器提供的错误是什么样的,从查 DNS 开始排除吧

检查 NGINX 的 log/error_log

看配置没什么问题 配置完重启 nginx 也没报错吗 那你访问 https 提示什么错误


access.log :
124.207.120.178 - - [17/May/2018:14:22:06 +0800] ">\xC6\x1A\xFA\x0Fz\xAC\xA6\x92U\x16\x96\x02\xBB\x9B9\xED\x06\x09\xEE\x0F\xE0\x1D8\x10\x8Fo\x16\x9D\xD8\xE7\x85K6/\xD8\x8C\xF7\xDE\x18i
FIJ\xAD\x86m/0g\x86\xBD\xC4\x05W\x88\xD2;\xBA\xE2\x05\xF0\xFF\xF0\xA1z\xED\xD8\xB9i`D\xBF\xA5p]z\x99\x18\xAAf\xF9C\xC5\xB1v\xB4pn\x07k\xA5\xFE" 400 173 "-" "-"
124.207.120.178 - - [17/May/2018:14:45:06 +0800] "O\xC9\xA7\xD8LR\x12\xF3\xCD\xC8,8\xCEf\xAE\xBB1\xD8\xA5\xB8*\xD2\xDE\x7F\xF8\x81\xEE\xEF\x15'\xCF\xB6\xB1iQ*\x13\x9E\xC6\xC2_\x89\xF9\
xE7'\xE6\xDE3G3=,\x11M\xF0\xA4 " 400 173 "-" "-"


error.log 没有错误
access.log :
124.207.120.178 - - [17/May/2018:14:22:06 +0800] ">\xC6\x1A\xFA\x0Fz\xAC\xA6\x92U\x16\x96\x02\xBB\x9B9\xED\x06\x09\xEE\x0F\xE0\x1D8\x10\x8Fo\x16\x9D\xD8\xE7\x85K6/\xD8\x8C\xF7\xDE\x18i
FIJ\xAD\x86m/0g\x86\xBD\xC4\x05W\x88\xD2;\xBA\xE2\x05\xF0\xFF\xF0\xA1z\xED\xD8\xB9i`D\xBF\xA5p]z\x99\x18\xAAf\xF9C\xC5\xB1v\xB4pn\x07k\xA5\xFE" 400 173 "-" "-"
124.207.120.178 - - [17/May/2018:14:45:06 +0800] "O\xC9\xA7\xD8LR\x12\xF3\xCD\xC8,8\xCEf\xAE\xBB1\xD8\xA5\xB8*\xD2\xDE\x7F\xF8\x81\xEE\xEF\x15'\xCF\xB6\xB1iQ*\x13\x9E\xC6\xC2_\x89\xF9\
xE7'\xE6\xDE3G3=,\x11M\xF0\xA4 " 400 173 "-" "-"

防火墙开 443 了吗

1. telnet www.yozann.com:443
2. curl -vvv https://www.yozann.com

fix:
telnet www.yozann.com 443
打错了,先排查 dns 解析,然后端口,最后 nginx

浏览器页面报什么错 直接就是连接超时吗

一直在使用的配置,仅供参考。
server {
listen 80 default;
server_name www.xxx.moe xxx.moe;
return 301 https://blog.xxx.moe$request_uri;
}
server {
listen 443 ssl http2;
server_name blog.xxx.moe;
server_tokens off;
root /var/www/xxx.moe;
ssl_certificate /etc/letsencrypt/live/xxx.moe/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/xxx.moe/privkey.pem;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 1d;
}

给一段我在用的给你参考一下:
HTTPS server
server {
listen 443 ssl http2 default_server;
listen 443 ssl;
server_name fada.com;
HTTPS certificate
ssl_certificate key/certificate.pem; // 证书路径
ssl_certificate_key key/certificate.key; // 证书路径
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
ssl_prefer_server_ciphers on;
index index.html index.htm index.php;
root /home/www/default;
location ~ .*\.(php|php5)?$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}
server {
listen 80;
server_name fada.com;
rewrite ^(.*) https://$server_name$1 permanent;
}

电脑访问不了?是什么情况?总有提示吧?
如果电脑时间不正确,可能会提示证书错误。。。

所以报错是什么,错误代码是什么。

dns 都解析不了。。

那个第一条用 http://www.online-toolz.com/tools/text-unicode-entities-convertor.php decode 了一下会显示 `Error:'' string literal contains an unescaped line break`

开 ssh,让我上去试试

厉害了我都不知是啥编码

每次都是开 ssh。。。。

防火墙开放 443

公司网络可能有缓存,

www.yozann.com
只看到开放了 80 端口
443 看不到也连不上

是海外的服务器吗,我的阿里云香港加上 https 就会抽风

dns 都解析不到~~~

access。log 之外还有个 error.log 文件呀
换个浏览器电脑试下。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服