尽管我已定义 HTTPS,但网站仍以 HTTP 方式打开

尽管我已定义 HTTPS,但网站仍以 HTTP 方式打开

我有一个托管在 nginx 上的 WordPress 网站。我使用 Cloudflare 反向代理和 SSL。我已经设置好,所以网站只会在 https 中打开,即使有人使用 http,它也会被重定向到 https 版本。在 Cloudflare 中,SSL 设置为Flexible

但问题是,它不能这样工作,当用户打开 http 版本时,它不会重定向到 https。

这是我的配置文件中定义的设置。

server {
        listen xxx.xxx.xxx.xxx:80;
        listen [::]:80;
        server_name mysiteurl.com;
        return 301 https://www.mysiteurl.com$request_uri;
}

server {
        listen xxx.xxx.xxx.xxx:80;
        listen [::]:80;
        root /var/www/mysiteurl.com/html;
        index portal.php index.php  index.html index.htm;

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
                fastcgi_param HTTPS on;
        }
}

我究竟做错了什么?

答案1

在 Cloudflare 中创建页面规则以始终使用 HTTPS。

更多信息 -https://support.cloudflare.com/hc/en-us/articles/204144518-SSL-FAQ#h_999722138611548960019807

相关内容