次のNginx構成:
server {
listen 80;
listen [::]:80 default_server ipv6only=on;
server_name isitmaintained.com;
...
}
server {
listen 178.62.136.230:80;
server_name 178.62.136.230;
add_header X-Frame-Options "SAMEORIGIN";
return 301 $scheme://isitmaintained.com$request_uri;
}
リダイレクトしようとしていますhttp://178.62.136.230/
to http://isitmaintained.com/ ですが、この構成を展開するとRedirect loop
またはこれらのリンクの両方。
何が悪いのですか?
2番目のブロックでこれを試してください:
server {
listen 80;
server_name 178.62.136.230;
return 301 $scheme://isitmaintained.com$request_uri;
}
問題は、2番目のサーバーブロックのlisten
ディレクティブが最初のサーバーブロックよりも具体的であるため、常に使用されることです。そして、2番目のブロックはそのlisten
仕様の唯一の仮想ホストであるため、常に使用されます。
あなたは近くにいた。あなたが探しているその書き直し。
server {
listen 178.62.136.230:80;
server_name 178.62.136.230 isitmaintained.com;
rewrite ^/(.*)$ http://www.isitmaintained.com/$1 permanent;
}
server {
listen 80;
server_name www.isitmaintained.com;
# Serve Stuff Here.
}