Je crée une application dans une pile de lampes et je souhaite fournir à l'utilisateur la possibilité d'utiliser leur propre domaine au lieu d'un sous-domaine de mon site. par exemple.
au lieu de: Ils utiliseront: http://store.some_user.com/ P> Je sais qu'il y a quelques entreprises qui fournissent cette utilisation en utilisant des enregistrements CNAME. ( http://help.bigcartel.com/articles/14-utilisation- A-Custom-Domain ) Cependant, je ne suis pas sûr de la manière dont ils atteignent cette fin. P> Mes questions sont: p> Comment s'appelle ce processus? (Donc, je peux rechercher cela plus loin si besoin est) p> li>
Que dois-je faire pour fournir cela? c'est à dire. Que dois-je faire sur le côté DNS, Apache et PHP pour que cela fonctionne? p> li>
ol> Des conseils, des liens ou des extraits de code seraient grandement appréciés. p> merci p> update stry> p> Jusqu'à présent, j'ai pu configurer l'entrée DNS Wildcard, mais j'ai toujours des problèmes avec le dossier CNAME résolu à l'autre domaine.
par exemple, p> http://store.wearenified.com/ ->
http://weareunified.joshstuart.com.au/ P> weareUnified.com (
joshstuart.com.au. A 111.67.3.227
* CNAME joshstuart.com.au.
5 Réponses :
En fait, vous n'avez pas besoin de faire quoi que ce soit. p>
Vos utilisateurs doivent obtenir leur fournisseur DNS Ajoutez un enregistrement CNAME qui chante essentiellement http://app.some_user.com/ à http://some_user.app.com . P>
Tout client DNS qui recherche http://app.some_user.com/ est dit de chercher http://some_user.app.com à la place, et il s'agit donc d'un problème DNS / client, et non un problème de serveur . P>
Amazon recommande cette technique très technique pour les utilisateurs de serveurs EC2. P>
Veuillez noter que les enregistrements CNAME ont une limitation, ils ne peuvent pas être attribués à la racine d'un domaine - vos utilisateurs ne peuvent pas affecter http: / /some_user.com/ , seulement http://app.some_user.com/ en tant que nommé CNAME . P>
Une chose à noter est que de votre côté des choses, @josh, vous utiliseriez un Entrée DNS Wildcard < / a> pour *. App.com code> Pour éviter de jouer avec vos propres enregistrements DNS à chaque fois que vous ajoutez un client. Mais pour la propre adresse personnalisée de l'utilisateur, je suis avec Rami, c'est leur domaine et ils le géreront, avec un nom d'enregistrement ou avec un enregistrement pointant sur votre adresse IP du serveur.
Merci de votre aide. Excusez mon ignorance mais un CNAME agit comme un «transitaire» ou un alias d'URL. par exemple. Est-ce que app.some_user.com/products apparaît dans la barre d'adresse comme celle-ci ou sera-t-elle convertie en quelque_user.app.com/products?
Il apparaîtra comme app.some_user.com/products, ce que je suppose est ce que vous voulez :-)
Oui c'est ce que je veux cependant que j'ai donné cela un bon coup mais je ne peux pas sembler le faire travailler. J'ai même mis en place un nommé sauvage.
J'ai quelque chose de similaire que j'ai fait avec le CPanel API2. P>
Fondamentalement, l'utilisateur pointe son domaine à mon DNS, et j'utilise l'API pour garer son domaine sur le mien. P>
Je stocke le domaine de chaque utilisateur dans une base de données. p>
sur une page de page, j'extrise le http_host et le comparez à ma base de données pour voir si le domaine existe. Je charge ensuite la page en fonction des paramètres des utilisateurs (je sert toutes les pages du même script) et des entrées de base de données. p>
Pour réduire la charge de la base de données, je enregistre les informations dans une session identifiant l'hôte. Je peux ensuite vérifier cela sur chaque charge ultérieure au lieu de vérifier la base de données à chaque fois. P>
C'est à peu près ce que j'avais fait sauf au lieu de stationter de leur domaine, j'utilise une entrée de carte générique sur l'hôte d'application principal (Joshstuart.com.au) et une entrée CNAME sur l'hôte des utilisateurs (pour tester WearEunified.com). Cependant, il ne résout pas correctement. Tout le côté db et la reconnaissance du site via http_host est OK. Avez-vous des liens / code pour cette solution d'API?
En ce qui concerne l'API, il existe une classe sur le site Web de CPanel qui l'applique. Il y a cependant une erreur avec elle. docs.cpanel.net/twiki/bin/view/alldocumentation/... < / a> Concernant votre application, chaque utilisateur a-t-il un répertoire ou le même script le sert? Essayez-vous de relier le domaine des utilisateurs avec votre sous-domaine? Si tel est le cas, cela ne fonctionnera pas depuis l'utilisation de caractères génériques, le sous-domaine n'est pas spécifique et que vous ne pouvez donc pas pointer un domaine à un sous-domaine qui n'est pas explicitement défini dans votre DNS.
Votre meilleur pari est d'utiliser un parking de domaine car le domaine atterrira ensuite sur votre site et vous pouvez faire les chèques nécessaires. Je suppose que vous essayez d'obtenir le sous-domaine que le domaine a atterri.
L'autre possibilité est de réellement être l'hôte DNS de l'utilisateur et gérer tous les enregistrements. Vous pouvez obtenir une solution open source pour cela. (Mais vous pourriez avoir besoin de deux serveurs DNS sur différents sous-réseaux). P>
J'ai cette configuration à l'aide de la lampe et ça fonctionne très bien. Voici comment je l'ai fait: p>
code> li>
ol>
C'est ça. Il existe actuellement plus de 70 domaines qui concernent le domaine de l'application principal, et ils servent chacun leur site individuel au besoin (sans redirection, etc.). P>
En fait je vois le problème que je pense.
Oui, la documentation doit indiquer votre application. En outre, n'incluez pas de spécification de nom de serveur, car elle écoutera n'importe quel domaine que cnames, pas seulement cpanel102-469.hosting24.com.au.
Merci pour ton aide! Les virtualhosts par défaut me retiennent.
vous pouvez faire une configuration vraiment rapide si vous utilisez Dynamic Vhost , donc vous Peut servir la demande de différents répertoires pour différents clients. Certains cas, les clients utilisent différentes versions de la même application, hébergement spécial / dédié pour un client, version modifiée pour certains clients.
Ah cool c'est quelque chose à garder à l'esprit. Actuellement, je veux que tout le monde exécute la même version de l'application.
@ User123342234 Bonjour! J'essaie de faire ce que tu fais. J'ai ajouté un CNAME à mon site d'application Target Cloud. Cependant, cela me montre cgi-sys / défautwebwebpage.cgi ... Comment dois-je configurer l'hôte virtuel. Cela vous aidera si vous pouvez poster votre solution!
Il y a quelques parties différentes ici - Obtenir les entrées DNS configurées, puis pour que Apache réponde à la demande.
Avez-vous le CNAME configuré correctement pour le client? Remarque, vous ne pouvez pas configurer un CNAME sur WearEunited.com, il doit être sur Store.WeareReUnited.com, ou un autre nom d'hôte qui n'est pas le domaine racine. P>
On dirait que vous ne comprendrez peut-être pas comment le travail de CName. Une version trop simplifiée est, lorsqu'un utilisateur demande à Store.WeareReUnited.com, leur serveur de noms local (par exemple, le serveur de noms qui se trouve dans l'ISP de l'utilisateur final. Pour moi sur Comcast, c'est généralement un NS Comcast à Beaverton, ou. Ceci assume la Le serveur de noms local n'a pas déjà résolu le nom d'hôte et ne l'a pas dans le cache) interrogera les serveurs de noms de racine pour déterminer qui est responsable du domaine. Le NamServer local interrogera ensuite le serveur de noms de domaine pour obtenir l'enregistrement. L'enregistrement pourrait être un enregistrement, qui est une adresse IP ou un nom d'objet CNAME qui pointe vers un autre nom d'hôte. P>
Lorsque le Nameever local obtient le CNAME, il fonctionnera à nouveau sur ce processus pour obtenir un enregistrement. Une fois enfin un enregistrement avec l'adresse IP, il remettra l'adresse IP sur le navigateur de l'utilisateur final, et le navigateur Web apportera une demande à l'adresse IP. P>
Le résultat final est le navigateur Web obtient une adresse IP, et il apporte ensuite une demande à cette adresse IP à l'aide du nom d'hôte d'origine comme tête d'hébergeur - Store.weareUnited.com. Donc, Apache doit être configuré pour recevoir des demandes de nom d'hôteName Store.weareUnited.com. P>
PHP ne se soucie pas de ce que le nom d'hôte est, à moins que vous ne vérifiez que $ _Server ... P >
Vous pouvez amener vos clients à configurer un nom d'information sur Joshstuart.com.au. Vous pouvez certainement créer des noms d'hôte supplémentaires comme WeareUnited.joshstuart.com.au ou faire une base générique, puis faire définir vos clients la cible CName à ce nom d'hôte unique, mais pourquoi vous déranger? J'aurais juste: p> tant que joshstuart.com.au, puis jetons une adresse IP sur votre serveur Web, le CNAME fonctionnera. Comme je l'ai mentionné ci-dessus, Apache verra une demande à venir pour STORE.WEAREUNITED.COM, de sorte que vous devez configurer un hôte virtuel pour ce nom d'hôte ou créer un Vhost générique comme Berklee mentionne (bien que je ne suis pas sûr de ce que l'Apache Directives que vous utiliseriez pour vous assurer que la demande est ensuite mappée sur les fichiers appropriés pour le domaine ...). p> p>
Merci pour l'explication. Malheureusement, comme il s'avère, j'ai eu des problèmes avec le côté virtualhost des choses.