Nginx

即使我定義了 HTTPS,站點仍以 HTTP 格式打開

  • September 10, 2020

我有一個託管在 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;
       }
}

我究竟做錯了什麼?

在 Cloudflare 中創建頁面規則以始終使用 HTTPS。

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

引用自:https://serverfault.com/questions/1033348