0
votes

Plusieurs domaines avec Nginx, vernis et Django Tous renvoient la même page mise en cache

J'essaie de configurer un deuxième domaine pour un projet existant qui utilisait auparavant un. Mais le vernis retourne toujours la page mise en cache du premier domaine. Donc, lorsque je visiterai le deuxième domaine, je vois le contenu du premier domaine. Mes configurations sont les suivantes:

Remarque:

  • 99% de la configuration était déjà là
  • J'ai changé les noms de domaine et supprimé certaines configurations SLL pour ce message pour être plus claire.
  • Les deux domaines utilisent la même page HTML mais un contenu légèrement différent.
  • Je suis noob concernant Nginx et Vernis.

    nginx xxx

    vernis xxx

    J'ai essayé:

    • changé nginx: proxy_set_header hôte existantDomain.com; à proxy_set_header host host host;
    • Changé NGinx: 2 Configurations de serveur Inscription à Port 8000 pour les deux domaines
    • Changé Vernis: 2 Configurations Backend pour les deux domaines

      Que veux-je:

      • Finalement, je veux 2 domaines différents et plusieurs sous-domaines qui ont tous besoin de son propre cache de vernis.

0 commentaires

3 Réponses :


0
votes

Le paramètre NGinx suivant provoque uniquement des pages de pages à partir de existantdomain.com code>, même si d'autres hôtes sont demandés:

proxy_set header Host $hostname;


0 commentaires

1
votes

La ligne de configuration suivante:

proxy_set_header Host $host;


2 commentaires

J'ai essayé cela, mais de cette façon, l'hôte $ semble devenir 127.0.0.1 au lieu du nom de domaine de visite actuel comme existantDomain.com ou Newdomain.com, je suppose que parce que le vernis fonctionne sur 127.0.01. Il enfreint le site Web parce que les "sites de Django" ne peuvent pas différencier les domaines. Par exemple demande.get_host () renvoie 127.0.0.1


Comme dans la réponse de @shawn C., vous devez également propager host: et d'autres en-têtes dans le serveur responsable de la terminaison TLS. Ajouter proxy_set_header Directives sur le bloc serveur avec Écoutez 443 SSL .



1
votes
  proxy_set_header        Host $host;
  proxy_set_header        X-Real-IP $remote_addr;
  proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header        X-Forwarded-Proto $scheme;
  proxy_pass              http://127.0.0.1:6081;

1 commentaires

Oui, j'ai changé l'hôte $ à GunCorn avant, mais j'ai effectivement oublié de la passer d'abord à vernis. Merci beaucoup!