Apache、反向代理、重写、HTTPS

Apache、反向代理、重写、HTTPS

我正在用 apache 创建一个反向代理框,对此我有一些疑问:

  • 我怎样才能从反向代理框而不是实际主机加载一些文件(比如 robots.txt)?
  • 允许在代理框中加载 .htaccess 是否明智?代理框的重写规则又如何呢?
  • 我应该把重写规则放在哪里?在虚拟主机中还是在 .htaccess 中?如果我允许从代理框加载 .htaccess,那么拥有 2 个 .htaccess 会不会有问题?我认为只会加载其中一个。
  • 那么 http 和 https 上的反向代理站点怎么样?我需要一些特殊设置吗?
  • 创建反向代理时有什么需要注意的问题吗?我已经知道如何使用 mod_proxy_html 来更正 html 文件中的链接。

答案1

我怎样才能从反向代理框而不是实际主机加载一些文件(比如 robots.txt)?

ProxyPass /robots.txt http://someotherserver.com/robots.txt

或者

RewriteEngine On
RewriteCond %{REQUEST_URI} .*robots\.txt$ [NC]
RewriteRule (.*) http://otherhost.com/$1 [P]

允许在代理框中加载 .htaccess 是否明智?代理框的重写规则又如何呢?

这其实没什么关系;.htaccess 只是一个“扩展的” apache 配置,因此每个服务器将单独处理自己的重写规则。如果您的配置允许在代理之前读取 .htaccess 文件,则两者都将执行。

我应该把重写规则放在哪里?在虚拟主机中还是在 .htaccess 中?如果我允许从代理框加载 .htaccess,那么拥有 2 个 .htaccess 会不会有问题?我认为只会加载其中一个。

与上面的非常相似,如果您编写的 .htaccess 页面实际上将在两个服务器上加载,那么它们将独立工作。

那么 http 和 https 上的反向代理站点怎么样?我需要一些特殊设置吗?

这里没有真正的问题。这都是服务器端的,所以它不会改变与客户端的交互。

创建反向代理时有什么需要注意的问题吗?我已经知道如何使用 mod_proxy_html 来更正 html 文件中的链接。

我暂时还想不出什么。

相关内容