我遇到IIS重写模块的问题。我用Google搜索并搜索了太多,但直到现在还没有找到解决方案。 我在Windows Server 2012 R2上安装了IIS 8.5。该网站在Tomcat v7上运行。 ISAP扩展和URL重写模块安装在Web服务器上。 我想在我的网站上阻止几个管理页面用于公共领域,而它应该可以通过服务器的主机名/ IP从内部网络访问。
包含公共域的管理页面为:http://my.website.com/abc/jsp/login.jsp,http://my.website.com/xyz/admin.jssp
我的web.config重写部分是 -
<rewrite>
<rules>
<rule name="AdminAccess" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="true">
<add input="{REQUEST_URI}" pattern="(login.jsp|admin.jssp)$" ignoreCase="true" />
<add input="{HTTP_HOST}" pattern="my.website.com" />
</conditions>
<action type="CustomResponse" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />
</rule>
</rules>
以上不起作用。如果我从条件中删除{REQUEST_URI},那么它可以工作但阻止所有页面。我试过多次组合,但直到现在都没有用。你能建议如何在IIS中实现这一点。我尝试在Apache中实现类似的重写,并且有效。