Avec la configuration Nginx suivante:
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;
}
J'essaye de rediriger http://178.62.136.230/
à http://isitmaintained.com/ mais quand je déploie cette configuration, je me retrouve avec un Redirect loop
ou ces deux liens.
Qu'est-ce que je fais mal?
Essayez ceci sur le deuxième bloc:
server {
listen 80;
server_name 178.62.136.230;
return 301 $scheme://isitmaintained.com$request_uri;
}
Le problème est que la deuxième directive de bloc serveur listen
est plus spécifique que le premier bloc serveur, elle est donc toujours utilisée. Et comme le deuxième bloc est le seul hôte virtuel pour cette spécification listen
, il est toujours utilisé.
Tu étais proche. Sa réécriture que vous recherchez.
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.
}