Со следующей конфигурацией 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/
к http://isitmainolated.com/ но когда я развертываю эту конфигурацию, я получаю Redirect loop
или обе эти ссылки.
Что я делаю не так?
Попробуйте это на втором блоке:
server {
listen 80;
server_name 178.62.136.230;
return 301 $scheme://isitmaintained.com$request_uri;
}
Проблема в том, что второй серверный блок listen
Директива более специфична, чем первый серверный блок, поэтому используется всегда. А поскольку второй блок - единственный виртуальный хост для этого 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.
}