簡體   English   中英

Nginx certbot SSL 不適用於 Cloudflare

[英]Nginx certbot SSL not working with Cloudflare

最近搬到了 CloudFlare,因為我想要一個 DNS 服務,該服務為 certbot 提供 DNS 憑據以生成通配符 SSL 證書。

但是,我正在努力運行基本的 SSL Nginx 設置。

背景:

  1. DNS 解析工作正常。 (當我只有一個 Nginx HTTP 服務器塊時,網站會通過 HTTP 不安全地加載)
  2. 可以通過帶有 HTTPS 地址的直接 IP 連接到網站(而不是通過 CloudFlare IP)。 它給出了無效的證書警告,但仍然連接。
  3. openssl s_client -connect property-connect.co.uk:443 -servername property-connect.co.uk似乎表明 SSL 證書沒問題

腳步:

  1. Ran certbot --nginx指定包括兩個域(www.property-connect.co.uk property-connect.co.uk)
  2. sudo nginx -t成功
  3. sudo nginx -s reload

配置文件

events {

}

http {
  server {
    server_name www.property-connect.co.uk property-connect.co.uk;

    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot

    location / {
       proxy_pass http://localhost:700;
    }

    ssl_certificate /etc/letsencrypt/live/property-connect.co.uk-0001/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/property-connect.co.uk-0001/privkey.pem; # managed by Certbot

  }
}

關於這個基本配置我缺少什么的任何想法?

您當前的此域證書由 Cloudflare 本身而非您的 CertBot/Nginx 頒發和管理:

$ openssl s_client -connect property-connect.co.uk:443 -servername property-connect.co.uk  </dev/null 2>&1 | grep ^issuer
issuer=C = US, ST = CA, L = San Francisco, O = "CloudFlare, Inc.", CN = CloudFlare Inc ECC CA-2

我猜這是因為您已通過 Cloudflare 將流量代理到您的主機在此處輸入圖片說明

您應該DNS only將您的域切換到DNS only ,然后您將能夠直接連接到您的 Nginx,而無需 Cloudflare 反向代理。

結果我只需要將 Cloudflare SSL 設置從“靈活”(瀏覽器 -> HTTPS -> Cloudflare -> HTTP -> Web 服務器)更改為“完整”(瀏覽器 -> HTTPS -> Cloudflare -> HTTPS -> Web 服務器) )。

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM