我有两个 apache 网络服务器,一个是公共的,一个是私有的。要求是用户将访问PUBLIC域并从PRIVATE域获取内容。PUBLIC域应为空,并且仅包含用于用户身份验证的 .htaccess 文件。所有的请求都会http://public.com:60001/
被 apache 重写为http://private:60001/
. 用户无法直接访问PRIVATE域,但托管PUBLIC域的服务器与其连接。
为了实现这一点,我更新了PUBLIC域的虚拟主机以包含以下内容:
<Directory "/wwwroot/public.com">
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)$ http://private:60001/$1 [P]
ProxyPassReverse http://private:60001/
</Directory>
执行此操作后,页面正在加载,但有两个问题:
- 网站页面的 html 代码中的所有链接都将采用以下形式,
http://private:60001/
因此当用户单击链接时,他们会收到 404 错误(因为他们没有连接到该链接)。有没有办法让 apache 重写这些链接http://public.com:60001/
? - Ajax 调用不起作用 - 生成 404 错误。我认为这可能是因为与第 1 点相同的问题。
谢谢您的帮助