2010-11-22 10 views
2

Je veux construire une page d'attente afin que, pendant la maintenance du site, nous puissions afficher quelque chose de approprié.Comment construire une page de mise en attente de site sur IIS7?

Liste de courses:

  • Facilité d'basculement On/Off
  • Vous ne voulez pas Google BOT de penser toutes les pages ont disparu NOINDEX/NOFOLLOW
  • Vous ne voulez pas que les utilisateurs voir « erreur de IIS7 500 disparaître "message - montrer ma page personnalisée à la place

Nous avions une" page d'attente "ASP dans le site que toutes les URL seraient acheminées. Depuis le passage à IIS7 et SEO Friendly URL réécriture qui n'a pas été possible plus longtemps. À la place, nous avons utilisé un site IIS séparé qui ne contient qu'une page de stockage DEFAULT.ASP et un gestionnaire 404 afin que toute URL soit routée vers celle-ci. Nous devons ensuite basculer entre les adresses IP ou les noms de domaine Host Header dans IIS Config (et nous avons un contournement PREVIEW.MyDomain.com pour accéder au site Live pendant les déploiements)

Nous devons définir un code de réponse - I pense que 503 "Service indisponible" serait le plus approprié? (bien que Custom Error Page for Http Error 503 semble indiquer que IIS7 n'affichera pas une page personnalisée avec l'erreur 503?)

Pour empêcher les gens de voir le message IIS7 "ERROR 500 s'en aller", je pense que nous devons définir ce "site d'attente" pour permettre Les erreurs?

L'application principale est toujours Classic-ASP, mais pour un site de page d'attente, nous pouvons implémenter ASP.NET si cela nous permet de surmonter certains obstacles. Existe-t-il une autre façon de gérer cela dans le site (toutes les demandes vont à la page d'attente, mais il y a une porte arrière afin que nous puissions tester les mises à jour du site avant de supprimer la page de maintien).

Le basculement des adresses IP (ou des noms d'en-tête d'hôte) entre les sites IIS n'est pas une opération facile actuellement - le faire manuellement prend une minute ou deux pour la demi-douzaine de sites IIS impliqués. Peut-être que nous pourrions avoir des fichiers Web.Config que nous pouvons basculer sur - même si je pense que signifieraient probablement que certains changements récents aux paramètres Perdez-in-the-lavage :(

mise en œuvre Alternative possible:

Nous avons envisagé d'avoir un fichier DEFAULT.ASP (notre site fonctionne sur une seule page ASP pour toutes les demandes), ce qui permet de définir un indicateur et d'afficher la page d'attente. Cookie (ou peut-être liste d'adresses IP "bypass") de sorte que pendant le déploiement d'une mise à niveau, ils puissent voir que le site était tout OK avant de retirer le drapeau de la page en attente

que tout HTML/Images/CSS peut y être déployé, alors que sur le site en direct, la page Holding doit supposer que tout, y compris les images et les fichiers CSS etc., pourrait être modifié dans le cadre de la mise à niveau - façon!

Répondre

0

Si vous avez plus d'un serveur, vous pouvez utiliser l'Application Request Routing pour ajouter à IIS (c'est gratuit). Il vous permet de créer facilement des fermes Web. Vous pouvez retirer un serveur du pool, mais tester via son adresse IP directe et les utilisateurs accéderont à la page de maintenance via le serveur ARR.En outre, ARR vous permet d'envoyer les codes de réponse que vous voulez pour n'importe quelle situation.

+0

J'ai passé des heures à essayer de comprendre comment réécrire le code de réponse via ARR. J'ai essayé d'utiliser une règle sortante pour réécrire la variable de serveur RESPONSE_STATUS, mais selon Fiddler il obtient toujours un OK 200 pendant que j'essaye de réécrire à un 503. –