Apache mod_proxy 带有 SSL,无法重定向

Apache mod_proxy 带有 SSL,无法重定向

我有一个自定义服务器在 apache 反向代理后面运行。由于自定义服务器只能处理 HTTP 流量,因此我尝试使用 apache 在其周围包装适当的 SSL,并进行某种 HTTP 身份验证。

因此我启用了 mod_proxy 和 mod_ssl,并修改了 sites-available/default-ssl。配置如下:

<Location /server>
    order deny,allow
    allow from all
    AuthType Basic
    AuthName "Please log in"
    AuthUserFile /etc/apache2/htpasswd
    Require valid-user
    ProxyPass http://192.168.1.102:8181/server
    ProxyPassReverse http://192.168.1.102:8181/server
</Location>

可以通过 ProxyPass 指令中指定的位置从内部网络访问自定义服务器。

但是,当从外部访问代理时,它会显示登录提示,并且在成功验证后,我得到一个空白页,上面写着The resource can be found at http://192.168.1.102:8181/server。当我在已经验证过的浏览器实例中再次输入外部 URL 时,我被正确地重定向到服务器前端。

access.log 中充满了表明我的浏览器成功执行 GET 请求的条目,并且代理正在顺利地为 /server 资源提供服务。但是,资源不包含服务器的前端,而是包含这些文字的空白页。

答案1

经过一番调查,我发现只有 Google Chrome 会出现这种行为。Safar 和 Firefox 重定向正常。由于我不认为 Google 的浏览器内置了这样的“功能”,而其他浏览器没有,所以我检查了我的扩展程序。并且:我安装了一个名为“HTTPS Everywhere”的扩展程序。这就是重点。禁用此扩展程序后,一切都按预期运行。

相关内容