https 不适用于我安装的 ssl(nginx 和 letsencrypt)

https is not working with my installed ssl (nginx & letsencrypt)

我已经在我的 nginx 服务器上使用 letsencrypt 安装了 ssl 证书。它在以下域中完美运行: http://shajao.com

网站完美重定向,ssl 运行良好,在 ssllabs 中获得 A+ 分数。

我遵循了这条指示: https://medium.com/@jnwarp/lets-encrypt-configure-nginx-with-a-perfect-score-on-ssl-labs-6fc10d2e4bf7

我试图在同一台服务器上做同样的事情,但域名不同,但无法正常工作。 基本上 ssl 是行不通的。因此,当我在浏览器中访问域时,它会启动无限重定向循环。所以我停止了从 http 到 https 的重定向,发现 https 不工作,这让网站被重定向到 http。

我的 dns 是使用 cloudflare 管理的,我也尝试从那里关闭 ssl 功能。

我的服务器代码:

server {
    listen 80;
    listen [::]:80;
    server_name getcoursetube.com www.getcoursetube.com;
    root /media/6sense/www/getcoursetube.com;
    index index.html index.htm index.nginx-debian.html;
    #   return 301 https://$host$request_uri;
}
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    
    root /media/6sense/www/getcoursetube.com;
    index index.html index.htm index.nginx-debian.html;
    server_name getcoursetube.com www.getcoursetube.com;
    location / {
        try_files $uri$args $uri$args/ /index.html;
    }

    error_log /media/6sense/www/getcoursetube.com/logs/error.log;
    access_log /media/6sense/www/getcoursetube.com/logs/access.log;
    
    #WARNING: Please read before adding the lines below!
    add_header Strict-Transport-Security "max-age=31536000; 
    includeSubDomains" always;
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;

    ssl_certificate /etc/letsencrypt/live/getcoursetube.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/getcoursetube.com/privkey.pem;
    ssl_trusted_certificate /etc/nginx/ssl/chain.pem;
}

花了几个小时后,我在 DigiCert 上测试了我的证书。并发现 DigiCert 显示的是 Cloudflare 颁发的 SSL 证书。

我从 Cloudflare 关闭了 SSL,但它不起作用。所以我不得不退出 Cloudflare。 我从 Cloudflare 中删除了我的站点并通过 GoDaddy(从我购买域名的地方)管理我的 DNS。它工作得很好。

让我知道是否有人有更好的答案并且也通过 Cloudflare 解决了这个问题。

更新:

我在 Cloudflare 上重新添加了我的域,并在 Cloudflare 中将 SSL 设置为完整模式。从 Nginx 服务器配置中删除了重定向代码,并在 Cloudflare 上始终启用 https。一切开始完美运行

我的原因是我不允许入站流量到我的实例上的端口 443。