【问题标题】:IIS equivalent to Location tag in ApacheIIS 相当于 Apache 中的 Location 标签
【发布时间】:2021-10-12 21:47:59
【问题描述】:

我在使用端口 8090 的 Windows 服务器上安装了一个应用程序,我使用 IIS 应用了反向代理配置以使该应用程序在端口 443 上可用

然而,我曾经在使用 web 应用程序时遇到过问题,当我联系开发人员时,他们建议我在 windows 上使用 apache 服务器并应用以下配置:

<VirtualHost *:443>
    ServerName demo.somwthing.com
    SSLEngine On
    SSLProxyEngine On 
    SSLCertificateFile ""
    SSLCertificateKeyFile ""
    SSLCertificateChainFile ""
    
    #LogLevel debug mod_rewrite.so:debug
    #LogLevel trace5
    ErrorLog C:\Server\Apache\Apache24\logs\report.txt
    CustomLog C:\Server\Apache\Apache24\logs\custom.txt \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass /.well-known !
    
    <Location /event-stream>
        Require all granted
        RewriteEngine on
        RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
        RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
        RewriteRule .* ws://192.168.11.132:8090%{REQUEST_URI} [P]
    </Location>
    
    <Location /system-event-stream>
        Require all granted
        RewriteEngine on
        RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
        RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
        RewriteRule .* ws://192.168.11.132:8090%{REQUEST_URI} [P]
    </Location>
    
        <Location /dashboard-event-stream>
        Require all granted
        RewriteEngine on
        RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
        RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
        RewriteRule .* ws://192.168.11.132:8090%{REQUEST_URI} [P]
    </Location>



    ProxyPass / http://192.168.1.132:8090/
    ProxyPassReverse / http://192.168.1.132:8090/
</VirtualHost>

我无法在 Windows 上成功运行 apache,我们仍然更喜欢 IIS,现在我能够在 IIS 中应用重写规则和条件,但我仍然不知道如何将标签转换为IIS,之前配置中的location标签和Match URL一样吗? 请帮助我了解位置标记及其在此配置中的作用以及如何在 IIS 中反映它

谢谢

【问题讨论】:

  • 删除了 apache 标签,因为这是一个 IIS 问题,您“只是”用它来描述您的目标。这个问题与 Apache httpd 无关。

标签: iis url-rewriting reverse-proxy windows-server-2019


【解决方案1】:

IIS 7 及更高版本中的 URL 重写模块提供了一个导入功能,极大地简化了将 Apache mod_rewrite 规则转换为 IIS URL 重写规则的过程。

更多信息可以参考这个链接:Importing Apache mod_rewrite Rules

【讨论】:

  • 感谢@samwu 的重播是的,我确实导入了配置,并且到目前为止它正在工作,但是,我看不到它做了任何与 apache 过滤器中的 标记相关的事情.所以我想知道位置标签是否有任何用途,以及我是否必须在 IIS 中为此做一些事情
  • 对不起,我没有找到相关的文档,但是根据location的定义,可以尝试在iis中找到类似的标签。 指令通过 URL 限制封闭指令的范围,并开始一个以 指令终止的小节。 部分按照它们在配置文件中出现的顺序进行处理,在读取 部分和 .htaccess 文件之后,以及在 部分之后。
  • 好的,这很有帮助,谢谢...我认为为了在 iis 中做同样的事情,我可以在规则上应用过滤器以仅匹配某些 url 路径...
猜你喜欢
  • 2010-09-23
  • 1970-01-01
  • 2011-11-05
  • 2011-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-18
  • 1970-01-01
相关资源
最近更新 更多