Nous essayons de faire pointer une application de transfert heroku (something.herokuapp.com
) vers un sous-domaine de notre domaine (staging.company.com
).
Tout le reste du domaine (*.company.com
) est transféré dans notre précédente application de production.
Je ne parviens pas à faire pointer les sous-domaines du sous-domaine vers l'application de mise en scène Heroku. Par exemple, login.staging.company.com
doit pointer vers le portail de connexion de staging et hospital.staging.company.com
doit charger notre application avec les données du client de l'hôpital.
J'ai 3 enregistrements CNAME pertinents:
*
pointe sur company.com.
(tout passe à la production)*.staging
pointe sur something.herokuapp.com.
staging
pointe également sur something.herokuapp.com.
Le comportement actuel est que login.staging.company.com
va à app.company.com
, donc il va à notre application de production à la place de notre application de mise en scène heroku. Cependant, login.staging.company.com/users/sign_in
va très bien dans notre application de transfert, mais c'est le SEUL lien qui mène à notre application de transfert.
Quels enregistrements dois-je ajouter/supprimer pour m'assurer que tout ce qui se trouve sous *.staging.company.com
se rend sur notre application de mise en scène heroku, et que tout ce qui ne se trouve pas sous ce contenu continue d'aller sur notre application de production?
Ex. hospital.staging.company.com
devrait passer à la mise en scène, alors que government.company.com
devrait passer à la production.
L'hébergement de domaine comprend deux parties:
Vous devriez vérifier les deux.
DNS pointe le domaine vers le bon serveur:
vérifier en utilisant Dig
(ou drill
), nslookup
ou même simplement ping
ou traceroute
. Tous prendront un nom de domaine et vous laisseront savoir quelle est l'IP résolue finale. Vérifiez que cela correspond à ce que vous attendez.
ou vous pouvez utiliser des outils en ligne tels que dns.squish.net
qui vous donnera une vue beaucoup plus détaillée de la procédure.
Le serveur reconnaît le domaine
Ceci est spécifique aux protocoles qui incluent le domaine dans la requête (tel que HTTP/HTTPS), et est bien sûr vital pour l’hébergement virtuel (hébergement de plusieurs domaines sur le même serveur avec la même adresse IP). C'est quelque chose qui est configuré sur le serveur.
Le serveur doit donc reconnaître tous les domaines sur lesquels vous pointez (si vous pointez simplement un domaine sur un serveur utilisant DNS et que le serveur ne le sait pas, il sera difficile de savoir ce qu'il doit renvoyer). Selon votre situation d'hébergement, cela peut être plus ou moins complexe à gérer. En outre, la gestion des domaines génériques peut ajouter un autre obstacle, selon que vous configuriez réellement des sous-domaines individuels sur l'hôte ou que vous tentiez de le faire reconnaître un générique (tous les serveurs/hôtes ne le peuvent pas).
Une fois que la demande parvient au bon serveur virtuel, des problèmes supplémentaires peuvent survenir avec les scripts locaux, les fichiers .htaccess
, les règles de réécriture, etc., qui peuvent ne pas être correctement configurés et redirigés ailleurs.
commencez par utiliser un outil tel que curl
(avec l'option -v
) pour voir ce qui se passe lorsque vous vous connectez à l'URL (existe-t-il une redirection - ou plusieurs?)
vérifier les fichiers .htaccess
pour les directives Redirect*
et RewriteRule
susceptibles de provoquer la redirection
il se peut que d'autres redirections soient générées dans le code, mais nous aurions alors besoin de beaucoup plus de détails sur les logiciels que vous exécutez.