1. ホーム
  2. ssl

[解決済み] HTTP から HTTPS への Nginx のリダイレクトが多すぎる

2022-02-09 06:21:54

質問

LEMPスタック上でウェブサイトを運営しています。そのWebサイトでcloudflareを有効にしています。私はhttpsのためにcloudflare柔軟なSSL証明書を使用しています。私はクロームでウェブサイトを開くと、それはあまりにも多くの時間をリダイレクトし、Firefoxでサーバーが完了することはありません方法で、このアドレスの要求をリダイレクトしていることを検出しているウェブサイトを表示しています。私は他の質問の答えを見ることを試みたが、それらのどれも問題を解決するように見える。NGINX conf ファイル:-。

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name mydomain.com www.mydomain.com;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443 ssl http2 default_server;
    listen [::]:443 ssl http2 default_server;
    root /var/www/html;

    index index.php index.html index.htm index.nginx-debian.html;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

何が間違っているのか、どなたかご指摘いただけると大変ありがたいです。

解決方法は?

cloudflare flexible SSL を使用しているため、nginx の設定ファイルは次のようになります:-)

server {
  listen 80 default_server;
  listen [::]:80 default_server;
  server_name mydomain.com www.mydomain.com;

  if ($http_x_forwarded_proto = "http") {
      return 301 https://$server_name$request_uri;
  }

  root /var/www/html;

  index index.php index.html index.htm index.nginx-debian.html;

  location / {
     try_files $uri $uri/ =404;
  }

  location ~ \.php$ {
     include snippets/fastcgi-php.conf;
     fastcgi_pass unix:/run/php/php7.0-fpm.sock;
  }

  location ~ /\.ht {
     deny all;
  }
}