将 IIS 代理重写转换为 Apache .htaccess

将 IIS 代理重写转换为 Apache .htaccess
<rewrite>
   <rules>
     <rule name="ReverseProxyInboundRule1" stopProcessing="true">
      <match url="(.*)" />
      <action type="Rewrite" url="http://192.168.1.6/{R:1}" />
     </rule>
   </rules>
</rewrite>

概念是,我有一个服务器,它接受 80 和 443 请求,并将它们重定向到网络中的适当服务器。

我的尝试:

RewriteEngine  on
RewriteBase    "/"
RewriteRule    "^/(.*)$"  “/“  [R=1]
ProxyPassReverse “/“ "http://192.168.1.6/“

答案1

我最讨厌的是,作为管理员,你可以访问主 Apache 配置文件,但你不应该依赖.htaccess文件。引自.htaccess 手册文件:

你应该完全避免使用.htaccess文件 如果你有权访问 httpd 主服务器配置文件。使用.htaccess文件会减慢你的 Apache http 服务器速度。任何可以包含在.htaccess文件中的指令最好在主 Apache 配置文件中设置,因为它将具有相同的效果且性能更佳。...
同样
,mod_rewrite 指令在主服务器配置中在许多方面都运行得更好。

在 Apache 中,我将使用ProxyPass指令,而不是使用 mod_rewrite 指令并设置如下内容:

<VirtualHost *:80>
    ServerName subdomain.example.com
    ProxyPass / http://192.168.1.6/
    ProxyPassReverse / http://192.168.1.6/
    ...
</VirtualHost>

相关内容