Перезапись URL - остановка https для размещения URL-адреса guid в Azure (IIS) - PullRequest
1 голос
/ 16 февраля 2012

У меня есть это правило перезаписи в web.config в нашем приложении Azure, чтобы пользователи всегда использовали HTTPS:

           <rule name="HTTP to HTTPS redirect"
                  stopProcessing="true">
                <match url="(.*)" />
                <conditions>
                    <add input="{HTTPS}"
                         pattern="off" />
                    <add input="{REQUEST_URI}"
                         pattern="^clientaccesspolicy\.xml$"
                         negate="true" />
                    <add input="{REQUEST_URI}"
                         pattern="^crossdomain\.xml$"
                         negate="true" />
                </conditions>
                <action type="Redirect"
                        redirectType="Found"
                        url="https://{HTTP_HOST}/{R:1}" />
            </rule>

Работает нормально. Пользователи всегда заходят на сайт, используя поддомен URL нашей компании, и у нас есть групповой сертификат.

Но когда приложение находится в стадии разработки, я хотел бы использовать его без https (но все равно не разрешать http-доступ к стандартному поддомену cloudapp). так, например, это будет работать над http:

http://f9eccd6a9a044270b5ce97ae614c9ee1.cloudapp.net

Но это не будет:

http://myazuresubdomain.cloudapp.net

Мои навыки Regex минимальны, и мои навыки переписывания URL ограничены копированием вышеизложенного из SO. Так может ли кто-нибудь помочь мне с правилом, которое поможет мне достичь вышеизложенного? Возможно, отрицание для URL, который имеет ровно 32 символа, тогда .cloudapp.net?

Спасибо

Mark

1 Ответ

2 голосов
/ 02 октября 2012

Следующее правило должно соответствовать тому, что вы после. При первом размещении будет пропущено перенаправление https из-за атрибута stopProcessing.

<rule name="Staging CloudApp" stopProcessing="true">
   <match url=".*" />
   <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
      <add input="{HTTP_HOST}" pattern="([0-9a-f]{32})\.cloudapp\.net" />
   </conditions>
   <action type="None" />
</rule>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...