Apache Proxy和Redirect(Proxy与Redirect冲突问题)

最近在国外的一台机器上部署了公司的代码,但是因为有很多的图片资源,所以国内访问很慢,而客户这段时间刚好在国内,所以想要把所有的图片资源的链接重定向到国内的一台机器上。

本以为加上一段Redirect或者RedirectMatch什么的就可以了,但是加上了发现并没有起作用。看了一下Apache的配置,发现配置中还用到了proxy来指向node应用。

google了一下,猜测proxy会优先于Redirect/RedirectMatch,所以对于proxy已经命中的资源,RedirectRedirectMatch就不会在起作用,需要在proxy排除这些文件。可以使用类似ProxyPassMatch /static/ !来使Proxy对于/static/失效。再对/static/使用Redirect 301 /static/ http://www.other-domain.com/static

最后贴上完整一点的例子

<VirtualHost *:80>
        
        ServerName www.example.com
        DocumentRoot /var/www/html/www.example.com
        ProxyRequests Off
        
        RewriteEngine On
        RedirectMatch /static/(.*).(png|svg) http://www.other-domain.com/static/$1.$2
        <Directory />
              Options FollowSymLinks
              AllowOverride None
        </Directory>
        <Proxy *>
                Order deny,allow
                Allow from all
        </Proxy>

        ProxyPassMatch /static/(.*).(png|svg) !

        ProxyPass / http://127.0.0.1:7300/
        ProxyPassReverse / http://127.0.0.1:7300/


        ProxyPreserveHost On
        
        ...
</VirtualHost>

除了Redirect和RedirectMatch,也可以其他的重定向配置,例如RewriteRule等

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,982评论 19 139
  • 上一篇《WEB请求处理一:浏览器请求发起处理》,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建...
    七寸知架构阅读 81,525评论 21 356
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,037评论 25 709
  • 11年茶头堆味少点; 16年茶头香味好点; 整体感觉不错,都是好茶。
    灵静自远阅读 4,266评论 0 0
  • 忠恕之道,听起来高深,却是“浅近语”,就在身旁,唾手可得。 在孔子的弟子中,颜回好学,曾子内省,而能对孔子有帮...
    刘向雄_阅读 4,468评论 0 3

友情链接更多精彩内容