Iis 7 IIS 7 URL重写或反向代理以处理防火墙安全

Iis 7 IIS 7 URL重写或反向代理以处理防火墙安全,iis-7,url-rewriting,firewall,reverse-proxy,Iis 7,Url Rewriting,Firewall,Reverse Proxy,我正在Win2008 R2服务器上设置不同的web应用程序。我正在努力实现以下目标: 应指向包含静态html页面的本地文件夹 应该“重写”到我安装了基于web的CRM应用程序的位置 我们有一个打开防火墙端口的更改过程,因此与其让他们打开1234端口,我宁愿让人们直接通过,IIS应该将端口业务隐藏在幕后 在这种情况下我需要反向代理吗?还是简单的入站规则 我应该在哪个网站配置此规则 我是否需要在默认网站下创建“CRM”虚拟目录 此外,任何规则示例都会有所帮助 我希望这将实现不需要在防火墙中打开端口的

我正在Win2008 R2服务器上设置不同的web应用程序。我正在努力实现以下目标:

  • 应指向包含静态html页面的本地文件夹

  • 应该“重写”到我安装了基于web的CRM应用程序的位置

  • 我们有一个打开防火墙端口的更改过程,因此与其让他们打开1234端口,我宁愿让人们直接通过,IIS应该将端口业务隐藏在幕后

  • 在这种情况下我需要反向代理吗?还是简单的入站规则
  • 我应该在哪个网站配置此规则
  • 我是否需要在默认网站下创建“CRM”虚拟目录
  • 此外,任何规则示例都会有所帮助
  • 我希望这将实现不需要在防火墙中打开端口的目标
  • 谢谢 (如果这与另一个问题类似,很抱歉,但我不确定是否需要反向代理或简单的入站规则。)

  • 您需要入站和出站规则。实现这一目标的方法称为反向代理
  • 网站
    处理域或
    全局
    级别
  • 没有
  • 使用以下规则作为起点
  • 我想说,使用反向代理实现您的目标是可能的
  • IIS重写规则:

    <rules>
        <rule name="CrmInbound">
            <match url="^crm(.*)" />
            <action type="Rewrite" url="http://myserver:1234/{R:1}" />
        </rule>
    </rules>
    <outboundRules>
        <rule name="CrmOutbound" preCondition="OnlyHtml">
            <match filterByTags="A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link, Script" pattern="http://myserver:1234(.*)" />
            <action type="Rewrite" value="http://myserver/crm(.*)" />
        </rule>
        <preConditions>
            <preCondition name="OnlyHtml">
                <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
            </preCondition>
        </preConditions>
    </outboundRules>
    
    
    
  • 您需要入站和出站规则。实现这一目标的方法称为反向代理
  • 网站
    处理域或
    全局
    级别
  • 没有
  • 使用以下规则作为起点
  • 我想说,使用反向代理实现您的目标是可能的
  • IIS重写规则:

    <rules>
        <rule name="CrmInbound">
            <match url="^crm(.*)" />
            <action type="Rewrite" url="http://myserver:1234/{R:1}" />
        </rule>
    </rules>
    <outboundRules>
        <rule name="CrmOutbound" preCondition="OnlyHtml">
            <match filterByTags="A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link, Script" pattern="http://myserver:1234(.*)" />
            <action type="Rewrite" value="http://myserver/crm(.*)" />
        </rule>
        <preConditions>
            <preCondition name="OnlyHtml">
                <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
            </preCondition>
        </preConditions>
    </outboundRules>
    
    
    
    谢谢。我想我们很接近了。获取和上的内部服务器错误。将深入跟踪以查看发生了什么。好的,所以我禁用了出站部分,至少内部服务器错误消失了。我可以正确地看到myserver主站点,它导航到myserver/crm,但在本地和网络上都显示一个空白页面。可能需要以某种方式调整出站。一个小的更新:我尝试应用一个简单的规则,将myserver重写为myserver:1234,效果很好。但我正试图将myserver/crm重写为myserver:1234,这将在我加入出站规则时产生HTTP500。为了结束这个主题,由于问题仍然没有解决,我似乎只需要一个入站规则,而不是出站规则。因此,对于入站规则,我面临的下一个问题是页面显示为空白,但没有错误。我检查了失败的请求日志,子页面的RequestURL为空。我现在将在stackoverflow中为这个问题打开另一个帖子。谢谢。我想我们很接近了。获取和上的内部服务器错误。将深入跟踪以查看发生了什么。好的,所以我禁用了出站部分,至少内部服务器错误消失了。我可以正确地看到myserver主站点,它导航到myserver/crm,但在本地和网络上都显示一个空白页面。可能需要以某种方式调整出站。一个小的更新:我尝试应用一个简单的规则,将myserver重写为myserver:1234,效果很好。但我正试图将myserver/crm重写为myserver:1234,这将在我加入出站规则时产生HTTP500。为了结束这个主题,由于问题仍然没有解决,我似乎只需要一个入站规则,而不是出站规则。因此,对于入站规则,我面临的下一个问题是页面显示为空白,但没有错误。我检查了失败的请求日志,子页面的RequestURL为空。我现在将在stackoverflow中为这个问题打开另一个帖子。