J'essaie de rediriger un domaine vers un autre via DNS.
Je sais que l'utilisation de IN CNAME est possible.
www.proof.com IN CNAME www.proof-two.com.
Ce dont j'ai besoin, c'est d'une redirection avec un chemin. Quand quelqu'un tape www.proof.com
, il devrait les amener à www.proof-two.com/path/index.htm
Je sais que cela peut être fait en utilisant les installations du serveur Web, mais j'ai besoin de la redirection DNS.
Est-ce possible?
Non, ce que vous demandez n'est pas possible. Le DNS est un système de résolution de noms et ne connaît rien du HTTP.
si vous utilisez AWS, une redirection telle que
mail.foo.com --> mail.google.com/a/foo.com
peut être configuré comme suit:
ce n'est pas une solution purement DNS, mais ça marche;)
Attention, la redirection ignore tous les paramètres d'URL, par exemple: ...? Param1 = valeur1 & param2 = valeur2
Je me rends compte que c'est un vieux fil, mais FWIW, au cas où quelqu'un d'autre cherche un moyen de le faire.
Alors que dns ne comprend pas la portion de chemin de l'URL, il comprendra les sous-domaines, donc au lieu de:
www.proof.com IN CNAME www.proof-two.com/path/index.htm
Vous pouvez utiliser:
www.proof.com IN CNAME proof.proof-two.com
accédez ensuite à l’endroit où vous hébergez proof-two.com et réglez-le de manière à ce qu’il pointe point proof.proof-two.com sur www.proof-two.com/path/index.htm.
~ il y a toujours plus d'une façon de peler un chat
J'ai un projet personnel qui pourrait vous aider à résoudre ce problème. C'est une solution de redirection open source qui vous permet de rediriger votre domaine en modifiant simplement vos paramètres DNS. Lien du projet: https://redirect.center/ .
Pour rediriger www.proof.com vers www.proof-two.com en conservant les paramètres d'URL, définissez simplement votre entrée www DNS sur proof.com:
www.proof.com IN CNAME www.proof-two.com.opts-uri.redirect.center.
Pour répondre à la question initiale, non, ce que vous voulez n'est pas possible en utilisant uniquement le DNS (comme tout le monde l'a indiqué). En plus de tout ce qui a déjà été mentionné, une autre option consiste à utiliser un service de redirection d'URL. Ces types de services peuvent vous permettre de configurer différents types de redirection d’URL en fonction de vos besoins. Par exemple:
Un service qui fait cela est EasyRedir . Divulgation complète: j'ai développé EasyRedir. Cependant, il existe certainement d'autres options. Je vous encourage donc à jeter un coup d'œil autour de vous.
Vraiment c'est facile avec redirect.center
Si vous voulez créer un CNAME en tant que:
www.proof.com IN CNAME www.proof-two.com/path/index.htm
en utilisant redirect.center, votre CNAME a la forme canonique suivante:
www.proof.com IN CNAME www.proof-two.com.opts-slash.path.opts-slash.index.htm.redirect.center.
Maintenant, si vous voulez rediriger vers le site Web https, vous pouvez ajouter cette option:
www.proof.com IN CNAME www.proof-two.com.opts-slash.path.opts-slash.index.htm.opts-https.redirect.center.
Maintenant, vous pouvez créer un CNAME avec le mode canonique avec une barre oblique dans votre page de destin.
Il semble que ce soit mon fournisseur (OVH) qui autorise ce type de redirection au sein de son infrastructure.
Voir: https://www.ovh.com/fr/g1339.redirection-nom-de-domaine
Je garde la réponse ci-dessous à des fins d’archivage, mais elle ne fournit aucune information utile.
Je l'ai fait en utilisant un enregistrement TXT.
Pour rediriger foo.bar.com
vers foo2.bar.com/path
, ajoutez simplement foo IN TXT "1|foo2.bar.com/path"
dans votre bar.com
zone DNS.
Il conserve également les chemins d'accès et les paramètres. Donc, si vous essayez d'accéder à foo.bar.com/hello?foo=bar
, vous serez redirigé vers foo2.bar.com/path/hello?foo=bar
.
DNS ne redirigera pas la portion de chemin d'une URL, ce qui ne sera donc pas possible.
Ajouter
www.proof.com IN CNAME www.proof-two.com
dirigera l’accès de www.proof.com à www.proof-two.com, où vous devrez utiliser la configuration du serveur Web pour diriger les utilisateurs vers la page appropriée.
@contacto contact et @adlawson
Je vais tirer pour la lune ici parce que je suis confronté à un défi similaire en ce moment. J'ai trouvé une solution qui, au niveau technique, est implémentée sur le serveur DNS.
La divulgation complète: J'utilise www.dnsmadeeasy.com pour gérer mon DNS pour votre kilométrage peut varier selon GoDaddy ou d'autres bureaux d'enregistrement Vanilla.
Ma solution DNS:
Utiliser un enregistrement de redirection HTTP - Je pointe une URL http://techshiftacademy.com vers un lien bitly doté d'une inscription de base pour une classe Python.
Je suppose que vous avez ce scénario: Vous avez un serveur Web unique hébergeant plusieurs sites Web, chacun étant censé être présenté par un domaine séparé:
ainsi, la page1.html devrait être servie par www.customer1.com et ainsi de suite.
créer un sous-domaine dans le example.com serveur DNS (votre serveur Web):
client1.exemple.com
dans les paramètres de votre serveur virtuel Apache, mappez le sous-domaine sur le répertoire contenant le site Web de votre client n ° 1, comme suit:
<VirtualHost *:80> SetEnv PAGE_ID "customer1" ServerName customer1.example.com ServerAlias www.customer1.com DocumentRoot /your/local/path/webserver/customer1 </VirtualHost>
s'il vous plaît noter la valeur pour "ServerAlias", il est important pour l'étape suivante-
à ce stade, vous devriez pouvoir accéder à votre site Web client1 en accédant à:
client1.exemple.com
CNAME = www LOCATION = customer1.example.com
Maintenant, vous êtes autorisé à utiliser: www.customer1.com.
Ma solution à ce problème était assez simple et directe. Tout ce dont vous avez besoin est un serveur IIS fonctionnant dans le domaine.
Configurez CNAME dans DNS pour qu'il pointe vers le serveur IIS, à l'aide des noms d'hôte dans IIS pour résoudre plusieurs sites sur un seul serveur IIS. J'utilise le même serveur IIS pour attribuer quelques sous-domaines à des sites externes.
Ensuite, dans IIS setup setup, la redirection de la configuration de ce site vers votre site/chemin hors site, dans mon cas, c’était notre catalogue hébergé vers lequel je voulais que catalog.ourdomain.com se rende. À partir de là, tous les réglages sont effectués dans IIS. Assurez-vous d'activer l'authentification anonyme afin que le trafic ne soit pas bloqué.
Un travail connexe a conclu tout ce qui suit:
Problème:
http://a.com/p1/p2.html devrait aller à http://B.com/p1/p2.html
aujourd'hui, mais plus tard lorsqu'il est configuré manuellement/automatiquement, le même
http://a.com/p1/p2.html devrait aller à http://C.com/p1/p2.html
Réponses:
DNS - convertit le nom en adresse IP
Bien qu'il puisse faire beaucoup de redirections, l'adresse IP restante est toujours indiquée, mais le DNS ne comprend pas le chemin ou la partie de protocole de l'URL, ne comprend que la partie de domaine. En d'autres termes, a.com uniquement est converti en adresse IP. http://a.com/p1/p2.html peut être converti en http://152.132.121.11/p1/p2.html si vous configurez mal dans DNS, alors vous obtiendrez 152.132.121.11 (pas http://152.132.121.11/p1/p2.html ), de sorte que vous obtiendrez une erreur de 400 (400, 403, etc.)
Redirection - c'est http://a.com/p1/p2.html peut être converti en http://b.com/p1/p2.html
Toutes les méthodes telles que GET, POST peuvent fonctionner, si un en-tête ou un corps quelconque est impliqué, mais qu'un serveur Web est impliqué, il peut s'agir d'un point d'échec. L'évolutivité et la disponibilité seront donc essentielles.
Si vous êtes sur AWS, la passerelle 53 -> API est possible à l’aide de domaines personnalisés, en interne, à l’aide du cloud.
C'est possible avec Amazon Certification Manager, les domaines personnalisés AWS Gateway et Route53. Notez la restriction us-east-1 sur ACM.
J'espère que ça aide quelqu'un
Comme presque tout le monde l’a déjà dit, il est impossible d’utiliser uniquement le DNS. Comme solution de contournement, je suggérerais d’essayer NGINX ( http://nginx.org/en/docs/http/request_processing.html ).
TL; DR - Dans NGINX, vous pouvez créer plusieurs serveurs virtuels pouvant rediriger votre demande en fonction du nom du serveur.
Ex. http://first.my-server.com redirige vers le lieu A et http://second.my-server.com redirection vers le lieu B, tandis que les deux partagent un serveur physique unique.
Vous pouvez utiliser htaccess rewrite mod, réécrire dans le sous-dossier si l'utilisateur demande un domaine spécifique et non l'autre.