私は別の同様の質問を読んで、Nginx設定でいくつかの変更を加えましたが、そのうちの何も動作しませんでした。
Webサイトの特定のページにアクセスしようとすると、「リダイレクトループ」が発生します。私はSSL、PHP、Yiiをフレームワークとして使用していますが、このページはログインなどのものではありません。
私のNginx設定は次のとおりです
server {
listen 80;
root /usr/share/nginx/www/domain;
index index.php index.html index.htm;
server_name www.domain.com;
return 301 https://$host$request_uri;
access_log on;
error_log /var/log/nginx-error_log crit;
location ~* .(gif|jpg|jpeg|png|ico|wmv|3gp|avi|mpg|mpeg|mp4|flv|mp3|mid|js|css|html|htm|wml)$ {
root /usr/share/nginx/www/domain;
expires 365d;
}
location / {
try_files $uri $uri/ /index.html;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
proxy_connect_timeout 30s;
proxy_redirect http://www.domain.com:8080 http://www.domain.com;
proxy_pass http://127.0.0.1:8080/;
#Redirect loop problem, next line:
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/www/domain;
}
location = /favicon.ico {
log_not_found off;
}
}
SSLでない場合でも同様です。
# HTTPS server
server {
listen 443 default ssl;
ssl_certificate /etc/ssl/www.crt;
ssl_certificate_key /etc/ssl/www.key;
root /usr/share/nginx/www/domain;
index index.php index.html index.htm;
server_name www.domain.com;
access_log on;
error_log /var/log/nginx-error_log crit;
location ~* .(gif|jpg|jpeg|png|ico|wmv|3gp|avi|mpg|mpeg|mp4|flv|mp3|mid|js|css|html|htm|wml)$ {
root /usr/share/nginx/www/domain;
expires 365d;
}
location / {
try_files $uri $uri/ /index.html;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
proxy_connect_timeout 30s;
proxy_redirect http://www.domain.com:8080 http://www.domain.com;
proxy_pass http://127.0.0.1:8080/;
#Redirect loop problem, next line:
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/www/domain;
}
location = /favicon.ico {
log_not_found off;
}
}
SSLの場合。ここでは、成功しなかった他の回答を試したことがわかります。
誰でも私を助けることができますか?
最高。