[nginx] redirection non désirée Le sujet est résolu

Demande d'aide : c'est ici.
Répondre
Avatar de l’utilisateur
vohu
Membre
Membre
Messages : 455
Inscription : 16 avr. 2016, 12:02
Localisation : Strasbourg
Status : Hors-ligne

Salut à tous,

J'ai un petit problème avec nginx.

J'ai 2 sous domaines toto.mondomaine.fr et titi.mondomaine.fr

Si je supprime le /etc/nginx/site-enabled/toto.mondomaine.fr et que je redémarre nginx, Lorsque je tente de me connecter à toto.mondomaine.fr, je me retrouve sur titi.mondomaine.fr :021:

J'y comprends rien....

le début du fichier de titi :

Code : Tout sélectionner

server {

    listen       80;
    server_name  titi.mondomaine.fr;
    rewrite ^/(.*) https://$server_name/$1 permanent;   # force redirect http to https
}


server {
        listen 443;
        ssl on;
        ssl_certificate
        ssl_certificate_key 
        server_name titi.mondomaine.fr;
        ...
Je vais finir par m'arracher les cheveux :s

et default :

Code : Tout sélectionner

server {
        root /usr/share/nginx/www;
        index index.html index.htm;

        server_name _domaine.fr www.domaine.fr;

        location / {
                try_files $uri $uri/ /index.html;
        }

        location /doc/ {
                alias /usr/share/doc/;
                autoindex on;
                allow 127.0.0.1;
                allow ::1;
                deny all;
        }

}

server {

    listen 443;
    ssl on;
    ssl_certificate
    ssl_certificate_key
    server_name _domaine.fr www.domaine.fr;

    root /usr/share/nginx/www;
    index index.html index.htm;

        location / {
                try_files $uri $uri/ /index.html;
        }
}
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Salut,
Aucune idée pour Nginx (j'utilise apache2), mais... as-tu moyen de préciser l'IP (pas seulement le port) dans les fichiers de conf ?
Avec Apache2 si tu ne précise pas l'IP dans les vhosts il prend le premier qui lui tombe sous la main et en fait son "default site".
Du coup tu est redirigé automatiquement, sans l'avoir clairement précisé...
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
PengouinPdt
Contributeur
Contributeur
Messages : 1343
Inscription : 23 avr. 2016, 23:37
Localisation : 47/FR
Diaspora* : https://framasphere.org/u/hucste
Contact :
Status : Hors-ligne

Désolé, c'est un problème que j'ai rencontré avec mes redirections HTTPS ... j'ai essayé l'usage de l'option "default" ... mais, je n'ai pas trouvé de solution.
Et, je ne m'y suis pas penché plus que cela pour l'instant.

Je comprends ton supplice, mais voilà ...
PengouinPdt { le seul, le vrai } ~ " Libre as a Pengouin "
- DIY - Debian Sid | Devuan Ceres
----
Ne réponds pas aux PM d'assistance
Avatar de l’utilisateur
vohu
Membre
Membre
Messages : 455
Inscription : 16 avr. 2016, 12:02
Localisation : Strasbourg
Status : Hors-ligne

lol> Je peux effectivement préciser l'ip (ce qui serait d'ailleurs embêtant avec une ip dynamique) mais ça ne change rien...

PengouinPdt> Surtout quand on se retrouve sur la page de postgre ou mysql.... Comme pour "default", "default_server" ne fonctionne pas non plus...
jim
Membre
Membre
Messages : 31
Inscription : 01 mai 2016, 10:53
Status : Hors-ligne

-----BEGIN PGP MESSAGE-----
Version: GnuPG v2

hQIOAwAAAAAAAAAAEAgAg4erpvTElZHDK3OG7dB7xKzl5nMvwVYD15g1HDsDX62V
ej88bKGb3uKE8RtG9xwuJji3uUIvGj3H7o0/lewFpmqsQKO1UBJ5UrAKw97PMlx9
tdEAPV8k0F+9UygaKthzBFHCCpkeWHRT1K3QJT/KMOy23yzLfDwZkwdUCYO10QeZ
yFvWxPlxjd6xbrut1p6xnJ9CFtcvptQjACzJxKHdttg9atC6x9jCzleCUA3AlX1d
JrEt5WQAWqR4Gi8xGNYK1EpZibu2cCOIiPGTJbD7L478CPqP2+uz7+fVA6FyrU9Y
/J/dv8Lgu26CFzz5vFxK+zSNX60bL/ppUHifGkXQLQf/ZJ53ggGR14PIq/E0jnoo
4Ird7FIIpyJaRdGUVGTRjrjwMkw53R+WHZirxIL+9l9epPnu+3Y6/tHeMnDLiI2V
dU5WlbeK7YRRwRrN4qgYA6dkE2xolAy1us1M39a0IWN/NnTXUuSsghxVP1gKMRzx
3dHKCwEfptKXfiVERuH2JFja+jtEvevVvFsPcvICRO2Ry5hhKNBG4uM6AGYtrdlo
tSk8a8LOn9QayZWBy1xvQlisLWeVBdTGG7Qiso2OMNqf9uZ3VAzjS4WhO5sjOW+Q
ZHQ98JNmf7b75E+bn9kgzSeaexO4Wdfmk8eYIpsVEC3df04h00bbRgZ7I1blGPS3
19LpATS004BhViR+v5fEn+xTSy/KHgZEvyORhztjhuEjuK+/4p7B43oeVz07Lyc+
ozdqJNr09Nn7C3TVcAynAIMmjyRoZa9k067Oi8sHQ1cg+DS70PLxKblphe0dTMB2
JYVB9G2EVbWuqGacMC21eIyH4IEVk7O6y5m5F12MnQt/+NVN/UjgDOkAvENwirg0
fvpGnJj51NisAH5lxx3cn6SPqD+mFxov1AHdHLc87BDbRiJZtqDAXMlXLdnFV8oo
nBFtDfjz5cGHNMfe0ApIjo24el+7b+1jSpU0XJjv8m3S0MXXXXjxhCvdmw+U7PBD
wIhoZxSWXFSeDBLLODsNzvp6LDK1zX5D+AwAPjP58l7GWBUMBffhHUrR03CQU9ZQ
1ZLG8UzK2DgpW8itGZPLCCHEQMz5htYF/2ImOYr4b9Liq53u5iMQL/2CUNkPeuLw
w7dPcEUjNQ5jqG7ff2bklObRpIpQpSO4hkCYU02u5x+D03dgyAQvLfsRYF1LhZU3
GPI1+v+yOusF/AGTZxBFRzEexqmwP7lzzHUsR6L8OJyPvIxPs2Lrwz7GFf/Es66F
YFHXFCvH2hhcERVRSeCw/er6HcuzsRr9hM1sj1EC/IbwR6CV1GTZbhhOLLtjGjtm
GJcOqkLd0L6TySM5zlXeJtPyxlskNkamlSVX5xsdEcXqX5ccpomSRtcoxn5N/6+o
Q9umhT4RYCLbXS9v4UBULg==
=A6u+
-----END PGP MESSAGE-----
Avatar de l’utilisateur
vohu
Membre
Membre
Messages : 455
Inscription : 16 avr. 2016, 12:02
Localisation : Strasbourg
Status : Hors-ligne

C'est effectivement une bonne idée, pour l'instant, je mettais un "deny all", ce qui me plaisait plutôt moyen...
Avatar de l’utilisateur
PengouinPdt
Contributeur
Contributeur
Messages : 1343
Inscription : 23 avr. 2016, 23:37
Localisation : 47/FR
Diaspora* : https://framasphere.org/u/hucste
Contact :
Status : Hors-ligne

Euhh, non, c'est très bien, le "deny all" aussi !
Comme ça, le serveur refuse la connexion, sur ce domaine, en particulier ... tu peux même le compléter d'une erreur 444 ... ça sera radicale :p
PengouinPdt { le seul, le vrai } ~ " Libre as a Pengouin "
- DIY - Debian Sid | Devuan Ceres
----
Ne réponds pas aux PM d'assistance
Avatar de l’utilisateur
vohu
Membre
Membre
Messages : 455
Inscription : 16 avr. 2016, 12:02
Localisation : Strasbourg
Status : Hors-ligne

Bon, je viens de découvrir un nouveau truc génant... si je tape mon ip publique dans un navigateur... pareil, il tombe sur un vhost, et pas le site par défaut...

Même si j'ai une ip dynamique, j'ai tenté d'ajouter mon ip suivit du nom de domaine dans le fichier /etc/hosts, rien à faire, quelqu'un à une idée pour ça ?
Avatar de l’utilisateur
vohu
Membre
Membre
Messages : 455
Inscription : 16 avr. 2016, 12:02
Localisation : Strasbourg
Status : Hors-ligne

J'ai du nouveau :

Pour résumer, il y a 2 cas ou nginx agit bizarrement :
- vous aviez créé un sous-domaine qui matche sur aucun server_name dans les configurations se trouvant dans site-enabled
- vous tapez l'ip du serveur dans le navigateur

A ce moment là, nginx répond en ouvrant un autre site et semble ignorer le paramètre default_server... et donc afficher un site sur lequel on ne voulait pas forcément attirer l'attention (genre phpmyadmin ou autre service)

Et bien, il semblerai qu'en fait il n'ouvre pas le site de façon aléatoire, mais le premier qui a été chargé lors du démarrage du service nginx. Ce qui fait qu'en renommant le fichier site-enabled/default par site-enabled/000-default , j'ai résolu ce problème.
Avatar de l’utilisateur
vohu
Membre
Membre
Messages : 455
Inscription : 16 avr. 2016, 12:02
Localisation : Strasbourg
Status : Hors-ligne

2 ans plus tard, j'ai enfin résolu ce problème :

Tous mes serveurs (les virtualhosts) redirigeant vers https, il fallait que le fichier default soit configuré en https aussi. C'était bien le cas, seulement, je n'avais pas défini de valeurs pour ssl_certificate et ssl_certificate_key, comme vu dans des docs à l'époque. J'avais fait des tests avec les server_name = default_server ou _, mais rien n'y faisait.
Le fait de définir un certificat règle ce problème de redirection hazardeuse.

Code : Tout sélectionner

server {
        listen 80 default_server;
        listen [::]:80 default_server;

         listen 443 ssl default_server;
         listen [::]:443 ssl default_server;
         ssl_certificate /etc/nginx/certs/domaine.fr.cacert.pem;
         ssl_certificate_key /etc/nginx/certs/domaine.fr.privkey.pem;
         
        root /var/www/html;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        server_name _;
...
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5872
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : Hors-ligne

merci du retour, j'ai mis la coche verte
Répondre