如何仅将特定IP授予项目的某些URL

问题描述 投票:0回答:1

我对IIS运行项目还是比较陌生,所以这里可能没有涉及到所有方面。

我们正在运行一个Web应用程序,其中一个解决方案中包含许多项目。虚拟目录中唯一使用的项目是Web项目。现在,我需要限制对某个URL序列的访问,并且只允许对几个特定IP地址进行访问。基于该URL运行代码的项目位于主虚拟目录外部,并且该项目正在编译为dll文件。

我试图在有问题的项目内添加一个新的带有限制的web.config,但这没有任何效果。下面的示例不允许IP限制,仅允许整个路径。

    <security>
      <requestFiltering>
        <denyUrlSequences>
          <add sequence="/MyUrl" />
        </denyUrlSequences>
      </requestFiltering>
    </security>

而且据我所知,添加位置仅适用于当前虚拟目录。

向该URL添加特定于IP的限制的好方法是什么?可以在一般的web.config文件中完成吗?

model-view-controller web-config iis-10
1个回答
0
投票

您可以使用URL重写模块和此重写规则来防止特定IP到达特定URL。

这里有一个演示供您参考:

<rule name="test" stopProcessing="true">
      <match url="(.*)" />
         <conditions>                     
             <add input="{REMOTE_ADDR}" pattern="xxx.xxx.xxx.xxx" />
         <add input="{URL}" pattern="^/MyUrl" />
      <action type="CustomResponse" statusCode="401" statusReason="permission required" statusDescription="Access is denied due to invalid credentials." />
 </rule>
© www.soinside.com 2019 - 2024. All rights reserved.