19

我正在尝试在Apache httpd中设置一个简单的 proxypass来代理某些请求。这是我尝试过的,但它似乎不喜欢从 http 到 https 的更改?

ProxyPass /maps https://maps.googleapis.com/maps

也许我错过了一个额外的步骤?

我已经阅读了一些关于设置证书的内容,但是对于这样一个简单的任务,这似乎是冗长的?

我目前得到的结果是 500 错误。

4

2 回答 2

46

好的,在阅读了许多涉及设置证书和虚拟主机等的解决方案之后。我终于找到了一个不需要任何这些的基本配置。

这是我用来访问代理自动完成谷歌通过本地主机在包括 ssl 支持(Windows 版本 2.2)的 Apache 安装上放置请求的内容。

编辑 apache 文件 httpd.conf

打开所需的模块...

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule ssl_module modules/mod_ssl.so

转到文件底部并为 mod_proxy 添加以下配置...

<IfModule mod_proxy.c>

ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

SSLProxyEngine on
ProxyPass /maps https://maps.googleapis.com/maps
ProxyPassReverse /maps https://maps.googleapis.com/maps

</IfModule>

就是这样,其余的都是我安装 Apache 时的所有默认配置设置。

有关 apache 代理的更多配置细节可以在Apache mod_proxy 文档中找到。

2.2 版的通用 Apache文档。

于 2013-04-22T11:50:31.973 回答
0

您需要先重定向到 https,然后从该虚拟主机执行 proxypass。另请参阅:将 http 重定向到 https apache

于 2013-04-21T11:30:29.117 回答