Apache反向代理 用http 访问 https站点

用http 地址代理 https 地址

本人工作中,无耐接手一个老项目,是用apache做的服务器,前端工程师访问其它域名的接口提示跨域,解决方案是让运维人员设置返向代理解决。
例如:
前端小程序地址为:https://www.aaaa.com.cn
接口地址为:https://interface.aaa.me/abc/bcd

结果报错

[Wed Dec 27 15:53:12.316645 2023] [proxy:warn] [pid 10858] [client 10.0.92.55:45144] 
AH01144: No protocol handler was valid for the URL /abc/bcd. If you are using a DSO version of mod_proxy, 
make sure the proxy submodules are included in the configuration using LoadModule., 
referer: https://www.aaaa.com.cn/newmobile/

查看配置如下

<VirtualHost *:80>
    ServerName www.aaaa.com.cn
    DocumentRoot /var/www/html/aaaa/public/
    <Directory "/var/www/html/aaaa/public/">
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    Proxyrequests off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    # *** 接口
    ProxyPass /abc/bcd  https://interface.aaa.me/abc/bcd
    ProxyPassReverse /abc/bcd  https://interface.aaa.me/abc/bcd
</VirtualHost>

查询全网总结如下

一、需要引入的模块

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 proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule ssl_module modules/mod_ssl.so

二、添加如下语句

<VirtualHost *:80>
    ServerName www.aaaa.com.cn
    DocumentRoot /var/www/html/aaaa/public/
    <Directory "/var/www/html/aaaa/public/">
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    Proxyrequests off
    SSLProxyEngine on
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    # *** 接口
    ProxyPass /abc/bcd  https://interface.aaa.me/abc/bcd
    ProxyPassReverse /abc/bcd  https://interface.aaa.me/abc/bcd
</VirtualHost>

总结一下

确认以上模块全部加载,加上一句 SSLProxyEngine on ,否则无法代理 https的地址

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值