【问题标题】:SSL not working after updating cert with letsencrypt使用letsencrypt更新证书后SSL不起作用
【发布时间】:2016-08-09 17:30:14
【问题描述】:

我有 nginx,主要用作反向代理。我在家里运行了许多服务,例如 Plex。它可以通过我创建了letsencrypt证书的plex.mydomain.com访问。 在我更新了letsencrypt证书之前,一切都运行良好。从那时起,只有我的桌面 Chrome 仍然可以工作,但我怀疑它这样做是因为它的缓存。 Safari 不工作,curl 和 wget 都不工作。

nginx conf如下

server {
        listen                  80 ;
        server_name  plex.mydomain.com plex.myotherdomain.com ;
        rewrite ^ https://$server_name$request_uri? permanent;
}
server {
        listen        443;
        server_name  plex.mydomain.com plex.myotherdomain.com ;
        satisfy any;
        allow 192.168.1.0/24; ##chez moi
        deny all;
        auth_basic "closed site";
        auth_basic_user_file /etc/nginx/certs/password;
        ssl_certificate /etc/letsencrypt/live/plex.mydomain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/plex.mydomain.com/privkey.pem;


        location / {
            proxy_pass        http://192.168.1.102:5000;
            proxy_redirect http:// $scheme://;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;

    }
}

如果我运行curl https://plex.mydomain.com,那么我会得到curl: (56) SSLRead() return error -9806

当我从 Safari 访问 plex.mydomain.com 时,Nginx 日志给出

2016/08/09 19:23:27 [alert] 52081#0: worker process 53076 exited on signal 11
2016/08/09 19:23:27 [notice] 52081#0: start worker process 53079
2016/08/09 19:23:27 [notice] 52081#0: signal 23 (SIGIO) received
2016/08/09 19:23:27 [notice] 52081#0: signal 23 (SIGIO) received

letsencrypt 证书已使用以下命令生成:

sudo certbot certonly --standalone -d plex.mydomain.com -d plex.myotherdomain.com

知道我做错了什么吗? 非常感谢您的帮助。

【问题讨论】:

  • 看起来可能是 OS X 提供的 cURL 版本存在问题:stackoverflow.com/questions/26461966/…
  • 但是 Safari 和 iOS Chrome 都不行。由于某些缓存,我怀疑 Chrome 桌面仍然可以工作。
  • 抱歉,错过了这一点,尽管修复 cURL 问题可能会为您提供有关失败原因的更多信息。您在 Safari/iOS Chrome 中遇到哪些错误?
  • Safari无法打开网页(类似404)。 iOS Chrome 返回ERR_SSL_PROTOCOL_ERROR
  • openssl s_client -connect plex.mydomain.com:443 是否提供任何信息?

标签: macos ssl nginx https lets-encrypt


【解决方案1】:

我通过生成一个新证书解决了这个问题,其中我也提到了根域名。 那么整个命令就是certbot certonly --standalone -d mydomain.com -d myotherdomain.com -d plex.mydomain.com -d plex.myotherdomain.com

现在,它就像一个魅力。 谢谢大家的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-05
    • 2013-12-13
    • 1970-01-01
    • 2016-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多