Перепишите правила для CDN и VPN в файле ASP. NET Web.Config. - PullRequest
0 голосов
/ 28 апреля 2020

Я работаю над проектом с некоторыми правилами переписывания, которые меня не устраивают. Я пытаюсь переписать их, но не могу понять, как именно добиться того, чего я хочу.

Я хочу предоставить доступ к странице администратора только тогда, когда {REMOTE_ADDR} является известным IP-адрес (прямое соединение с сервером через VPN) или когда {REMOTE_ADDR} равен адресу CDN, а значение {HTTP_X_Forwarded_For} равно адресу VPN.

Предполагается, что 1.2.3.4 - это наша VPN и 4.3.2.1 - это наш CDN, что-то вроде:

        <rule name="Block dashboard" stopProcessing="true">
          <match url="login.aspx|/admin" />
          [NOT]
            <conditions>
              <add input="{REMOTE_ADDR}" pattern="1.2.3.4" />
            </conditions>
            [OR]
            <conditions>
              <add input="{REMOTE_ADDR}" pattern="4.3.2.1" />
              <add input="{HTTP_X_Forwarded_For}" pattern="1.2.3.4" />
            </conditions>
          [/NOT]
          <action type="CustomResponse" statusCode="403" statusReason="Forbidden" statusDescription="Site is not accessible" />
        </rule>

Извините за то, что я сделал свое собственное ИЛИ, а НЕ теги ... Просто пытаюсь объяснить, чего я хочу достичь ...

Ура,

Дан

...