web-dev-qa-db-fra.com

Comment faire en sorte qu'Apache / cPanel reconnaisse tous / tous les domaines pointés vers son enregistrement CNAME de nom générique?

Installer:

  1. Domaine du serveur: redir.example.com
    • sous-domaine de ci-dessus: *
    • Valeur CNAME de *.redir.example.com = redir.example.com
    • <anything>.redir.example.com être servi redir.example.com/index.php (mais pas d'URL modifiée dans la barre d'adresse du navigateur, comme prévu) .
  2. Domaine client: example.xyz
    • sous-domaine de ci-dessus: test
    • Valeur CNAME de test.example.xyz = test.redir.example.com
    • Résultat souhaité ci-dessus: le serveur du domaine principal reçoit le test.example.xyz.

Problème:

  1. test.example.xyz obtient les redirections automatiques vers http://test.example.xyz/cgi-sys/defaultwebpage.cgi
  2. Apache assis au domaine principal sert une page d'erreur générique avec cPanel Branding & text SORRY!, There has been a server misconfiguration. avec le code de réponse 200 OK. Ceci, je crois, Apache dit qu'il ne reconnaît pas test.example.xyz & ne sait donc pas quel dossier/fichier il devrait servir pour cette requête.

CPanel/Apache peut-il être obligé d'accepter toutes les valeurs CNAME entrantes?

Remarque:

  1. http://redirect.center fait cela. Essayez http://anything.redirect.center , le code php sur https://github./...../index.php "obtient" la valeur, et traite en conséquence. J'ai du mal à atteindre cet objectif ci-dessus "obtient" étape. Mon .php ne peut traiter que s’il reçoit l’URL.
  2. Un autre exemple de travail avec redirect.center, avec NO enregistrements DNS de leur côté, & eux traitant simplement l’URL entrante en fonction de l’URL elle-même.

    http://tex.lab.dc1.in/tags va à https://tex.stackexchange.com/tags

    1. tex CNAME tex.stackexchange.com.opts-uri.redirect.center.
    2. redirect.center "récupère" le domaine complet tex.lab.dc1.in, & le traite en fonction de son php (récupération de la valeur CNAME, définition des en-têtes & redirections etc ..).

Comment "obtient/reçoit" les domaines pointés sur lui-même via les enregistrements CNAME? Comment a-t-il configuré son Apache ( oui, il utilise Apache ) pour recevoir et servir tous les domaines génériques?

MODIFIER:

OK, découvert que je dois également ajouter le bloc de code suivant dans mon fichier httpd.conf

<VirtualHost *:80>
     DocumentRoot /opt/redirect.center/public_html
     ServerName redirect.center

     <Directory /opt/redirect.center/public_html>
         AllowOverride None
         Require all granted
     </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /opt/redirect.center/redirect
    ServerName alias.redirect.center
    ServerAlias *

    <Directory /opt/redirect.center/redirect>
        AllowOverride None
        Require all granted
    </Directory>
</VirtualHost>

Alors maintenant, la question devient, pouvons-nous éditer/ajouter des fichiers https.conf sur cPanel?

2
DavChana

Vous avez raison de dire que vous souhaitez ajouter un alias de serveur générique à votre hôte virtuel. Cependant, ajouter ServerAlias * tenterait de capturer tous les domaines, pas seulement les sous-domaines. Je pense que vous voulez vraiment ajouter ServerAlias *.redir.example.com.

Votre fournisseur d'hébergement peut ou non vous laisser faire cela. CPanel propose des options permettant aux fournisseurs d’hébergement d’activer ou de désactiver la fonctionnalité d’ajout d’alias de serveur. Il est possible que votre fournisseur d’hébergement ne l’autorise pas, car l’ajout de la mauvaise solution peut constituer un risque pour la sécurité. Cela risquerait également de casser tout le serveur partagé pour tout le monde si vous entrez une erreur, telle que ServerAlias *. Voir ici pour les instructions.

1