大佬教程收集整理的这篇文章主要介绍了Apache 2.4 在充当 https 请求的转发代理时不会添加请求标头,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的用例如下:我需要通过配置为转发代理的 Apache 访问 CloudFlare 服务的网站,使用后者将我的凭据动态设置为请求标头。不使用代理时,我可以使用 curl 轻松做到这一点:
curl 'https://mysite.myorg.com' \
-H 'CF-Access-ClIEnt-ID: my-ID' \
-H 'CF-Access-ClIEnt-Secret: my-secret'
我收到 200 响应,正文中包含网站负载。这很容易,现在是困难的(代理)部分。
Apache 在我主机上的 Docker 容器中运行,我通过 curl 连接到它,如下所示:
curl 'https://mysite.myorg.com' --proxy http://127.0.0.1:8080
这就是 httpd-vhosts.conf
文件的样子(信用以纯文本形式设置只是为了测试目的):
Listen 8080
<VirtualHost *:8080>
<Proxymatch "^https://.*\.myorg\.com"> # this is for other cases besIDes mysite.myorg.com
Order Deny,Allow
Deny from all
Allow from 172.17.0.0/16
requestheader add CF-Access-ClIEnt-ID "my-ID"
requestheader add CF-Access-ClIEnt-Secret "my-secret"
</Proxy>
SSLProxyENGIne on
ErrorLog /var/log/apache2/error_forWARD_proxy.log
CustomLog /var/log/apache2/access_forWARD_proxy.log combined
ProxyPreserveHost On
</VirtualHost>
在主 httpd.conf
文件中,我设置了 Proxyrequests on
和 ProxyVia On
。我相信所有需要的模块都已启用(mod_proxy、mod_proxy_connect、mod_http、mod_ssl、mod_headers 等)。
问题:在成功处理 CONNECT 阶段后,Apache 应该向传出请求添加带有凭据的新标头,但这不是正在发生的事情 - CloudFlare 以 302 响应并希望我执行登录(如果未使用提到的凭据,这是正常的) - 这表明尚未添加 CF- 标头。
有人看到我的配置有什么问题吗?我在那里错过了什么吗?我无法看到 Apache 执行的传出请求究竟是什么样子,日志也没有表明任何问题(尝试打开取证模块,没有有用的信息)。
更新: 我已经在 mod_dumpio 的帮助下检查过,如果使用 http 而不是 https(测试能够在日志中看到实际的标题),实际上正在添加标题。我想知道在使用https时是否以相同的方式添加它们,如果是,则CONNECT阶段是否与问题有关。
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的Apache 2.4 在充当 https 请求的转发代理时不会添加请求标头全部内容,希望文章能够帮你解决Apache 2.4 在充当 https 请求的转发代理时不会添加请求标头所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。