Sur mon serveur Ubuntu, j'installe nginx et configure l'hôte virtuel à l'aide de cet article. https://www.digitalocean.com/community/articles/how-to-set-up-nginx-virtual-hosts-server-blocks-on-ubuntu-12-04-lts-- =
Le nom de domaine de l'hôte virtuel est comme www.example.com. Lorsque je vais sur www.example.com, je peux voir la page d'index de mon application. Cependant, quand je vais à la vraie adresse IP, je vois toujours la page d'accueil de nginx. Que puis-je faire pour supprimer cette page d'accueil ou pointer vers www.example.com si quelqu'un utilise l'adresse IP pour accéder à mon site?
J'ai configuré un enregistrement A pour pointer ip xxx.xxx.xxx.xxx vers www.example.com.
Je pense que lorsque vous configurez nginx pour la première fois, il est livré avec un hôte virtuel "par défaut". Avez-vous essayé de supprimer cela? Avez-vous essayé de supprimer le lien symbolique? Une troisième option consisterait à ajouter un "tout refuser"; sur l'emplacement/de l'hôte virtuel par défaut.
Je ne sais pas exactement si cela fonctionnera et je ne peux pas le tester pour le moment. Si ce qui précède ne fonctionne pas, essayez ceci: http://nginx.org/en/docs/http/request_processing.html#how_to_prevent_undefined_server_names
http://your-server-ip/
est une demande avec un nom de serveur non défini. Vous devriez pouvoir le bloquer avec:
server {
listen 80;
server_name "";
return 444;
}
Vous devez supprimer le fichier default
, situé dans /etc/nginx/sites-enabled
:
rm /etc/nginx/sites-enabled/default
Redémarrez ensuite nginx:
service nginx reload
Si vous avez supprimé default
sous /etc/nginx/sites-available
et redémarré nginx et la page d'accueil est toujours affichée, alors voyez s'il y a un default.conf
en dessous de /etc/nginx/conf.d
et supprimez-le, puis redémarrez nginx.
Configuration de
server {
listen 80;
server_name xxxx;
return 444;
}
J'obtiens 502 pour tous les uri, y compris mon URL d'application.
Je n'ai pas trouvé sites_enabled
dossier sous /etc/nginx
, à la place, mon site par défaut se trouve dans /usr/share/nginx/html
Je crée donc une autre page vierge située dans
/usr/share/nginx/html/blank
créer un index.html vierge
# echo >> index.html
puis modifiez le fichier default.conf
location / {
root /usr/share/nginx/html/blank;
index index.html ;
}
alors la page d'accueil devient vierge, cachant les informations nginx.
Au fait, si vous supprimez
location / {
root /usr/share/nginx/html/blank;
index index.html ;
}
ou définir
location / {
try_files $uri $uri/ = 404;
}
vous obtiendrez 404 sur la page d'accueil, mais en affichant "version Nginx", ce qui n'est pas bon.