web-dev-qa-db-fra.com

Comment gérer la redirection des hôtes CNAME vers un répertoire virtuel?

J'ai un site Web interne et un répertoire virtuel http://server2012/logs. J'ai créé un CNAME sur mon serveur DNS en tant que LOGS -> server2012. Je voudrais le configurer afin que http://LOGS redirige vers http://server2012/logs. Idéalement, je voudrais tout de même que toutes les pages du navigateur ne figurent pas dans l'URL LOGS. Donc, http://LOGS/network.html?site=32 est ce qui est affiché dans le navigateur, mais il est réellement servi à partir de http://server2012/logs/network.html?site=32. J'ai examiné la réécriture d'URL, mais je n'arrive pas à me mettre au travail.

2
esac

Je ne suis pas sûr que ce soit possible. Le LOGS doit être son propre serveur virtuel.

Donc, essentiellement, configurez un nouveau serveur Web virtuel (si vous utilisez Apache, c'est un jeu d'enfant), avec son dossier racine pointant vers le même dossier que celui-ci: in http://server2012/logs/.

Ensuite, configurez votre DNS (bind?) Pour diriger le trafic interne de http://LOGS/ vers le serveur physique.

Pour résoudre le problème, il suffit que le nouveau serveur Web virtuel réponde uniquement à http://LOGS/ et que le serveur http://server2012 ne réponde qu'à cette réponse.

Je gère ce type d’installation sur mon site de développement pour développer des sites clients. Depuis 20 ans, il gère 20 sites ou plus en même temps, sans maux de tête.

À l’esprit, le dossier/logs/sera toujours accessible via http://server2012/logs/. Si cela est indésirable, vous pouvez probablement résoudre ce problème avec le fichier .htaccess.

Edit: S'il n'était pas déjà clair, ce n'est évidemment pas un correctif CNAME - vous pourriez aussi bien nous enregistrer un disque. :)

Espérons que cela aide.

2
Patrik Alienus

Je pense que vous pouvez le faire assez facilement dans IIS 7.x:

  1. Créez l'alias DNS/CNAME pointant logs sur server2012 -> Vous l'avez déjà fait.

  2. Créez un nouveau site sur le serveur2012 qui répond au en-tête de l'hôtelogs (ou, mieux encore, le nom de domaine complet comme logs.domain.tld)

  3. Maintenant vous avez deux options:

    une. Utilisez la fonction IIS 7 redirection de base pour diriger les URL vers http://server2012/logs/... -> Cela modifiera l’URL que l’utilisateur voit, mais ne le masquera pas comme vous le souhaitiez.

    b. Utilisez le plus avancé module de réécriture d'URL pour masquer la redirection/réécriture, de sorte qu'il semble toujours que vous surfiez http://logs/...

Bonne chance!

0
ewall

Créer une condition: {HTTP_Host}/Correspond au modèle/LOGS

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="LOGS Redirect" stopProcessing="true">
                    <match url="^$" />
                    <action type="Redirect" url="LOGS" />
                    <conditions>
                        <add input="{HTTP_Host}" pattern="LOGS" />
                    </conditions>
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>
0
Sybernetik