jsonge
V2EX  ›  问与答

咨询一个 nginx 反代 替换源站 logo 的问题

  •  
  •   jsonge · May 6, 2018 · 2630 views
    This topic created in 2931 days ago, the information mentioned may be changed or developed.
    假设源站为 www.a.com 源站 Logo 地址为 https://www.a.com/themes/images/logo.svg
    新站为 www.b.com 现在的目标是:希望用户通过 www.b.com 能访问 a 站的所有内容,且 logo 自动替换成自己的 logo,logo 文件存放地址为: https://www.c.com/logo.png

    location / {
    sub_filter www.a.com www.b.com; # 地址重写
    sub_filter themes/images/logo.svg https://www.c.com/logo.png; #替换掉 LOGO
    sub_filter_once off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Referer https://www.a.com;
    proxy_connect_timeout 300s;
    proxy_read_timeout 5400s;
    proxy_send_timeout 5400s;
    proxy_pass https://www.a.com;
    proxy_set_header Accept-Encoding "";
    }

    按照上面的配置,访问 www.b.com 的时候,网站 logo 地址变成了 https://www.b.com/https://www.c.com/logo.png
    也就是在实际 logo 地址前面自动加上了网站的网址,导致 logo 无法显示,请问各位大佬,是哪里配置错误,该如何解决替换 logo 的这个问题呀。

    感谢。
    5 replies    2018-09-21 16:02:02 +08:00
    msg7086
        1
    msg7086  
       May 6, 2018
    字符串替换,要先在网页里找到原始字符串,然后再替换成新的字符串。
    看上去是你这老字符串取的不对。
    xiaoz
        2
    xiaoz  
       May 6, 2018 via Android
    在 hostloc 已经回复你了
    xiaoz
        3
    xiaoz  
       May 6, 2018 via Android
    禁止 gzip 写最前面
    ge2009
        4
    ge2009  
       May 10, 2018
    学习了,原来还可以这么操作
    wkl17
        5
    wkl17  
       Sep 21, 2018
    proxy_set_header Referer https://www.a.com;
    这句的话 是不是 b 站反代、使用 a 站的内容时,日志统计看到来源页面会是 a 站自身?
    也就是能避免 a 站发觉被反代了?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   938 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 19:38 · PVG 03:38 · LAX 12:38 · JFK 15:38
    ♥ Do have faith in what you're doing.