• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Famio
V2EX  ›  程序员

nginx 有没有办法重写外部 url

  •  
  •   Famio · Aug 24, 2017 · 3173 views
    This topic created in 3357 days ago, the information mentioned may be changed or developed.
    比如我网站加载一个外部资源 bs.baidu.com ,我想重写为 eiv.baidu.com 。
    能否在 nginx 上完成?
    感谢
    Supplement 1  ·  Aug 25, 2017
    哎,试过很多种模块和办法,都不行了,算了,放弃。
    好在找到别的代替方法了。
    13 replies  •  2017-08-25 01:01:57 +08:00
    flowfire
    flowfire
    Aug 24, 2017
    1
    直接替换就行了吧。。。。
    Famio
    Famio
    OP
    Aug 24, 2017
    2
    @flowfire 请问 How ?這個外部资源是由一个 api 带出的,我没法从源码直接改。好在我发现了 url 只要 rewrite 一下就可以。
    dzxx36gyy
    dzxx36gyy
    Aug 24, 2017 via Android
    3
    用 ngx_http_substitutions_filter_module 直接替换
    DingSoung
    DingSoung
    Aug 24, 2017
    4
    试试
    server {
    listen 80;
    listen [::]:80;
    server_name bd.baidu.com;
    return 301 http://eiv.baidu.com;
    }
    v1024
    v1024
    Aug 24, 2017 via iPhone
    5
    作为代理可以用三楼的方法,其他不可能。
    v1024
    v1024
    Aug 24, 2017 via iPhone
    6
    更正:不是代理也可以。但为什么不直接源码里改一下
    Famio
    Famio
    OP
    Aug 24, 2017
    7
    @v1024 我在 2 楼有说明,如果能改我就不会这么麻烦了,我先试试 3#的方法把
    maowu
    maowu
    Aug 24, 2017 via Android
    8
    这个“由 api 带出来”是怎么个带法?在请求结果的 header 还是 body ?
    crysislinux
    crysislinux
    Aug 24, 2017 via Android
    9
    这个包含这个链接的文件是不是在你的服务器上,要是在别人的服务器上,你是没办法的。。
    Tink
    Tink
    Aug 24, 2017 via iPhone
    10
    直接替换呗
    codermagefox
    codermagefox
    Aug 24, 2017
    11
    楼主可以访问一下我的博客 blog.codermagefox.com ,
    然后看看 url...
    有惊喜.
    应该就是你这个需求了
    fcka
    fcka
    Aug 24, 2017 via Android
    12
    在自己后端中转一下
    bear2017
    bear2017
    Aug 25, 2017 via Android
    13
    nginx 代理或者后端中转一下,不知道后端用什么语言。建议直接贴图,贴代码~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5136 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 07:15 · PVG 15:15 · LAX 23:15 · JFK 02:15
    ♥ Do have faith in what you're doing.