【问题标题】:Ngnix forward url from first server to secondNginx 将 url 从第一台服务器转发到第二台服务器
【发布时间】:2021-07-07 22:27:31
【问题描述】:

我有两台服务器。

服务器 1:185.185.xxx.xxx(这是域 mydomain.com 的主服务器)

服务器 2:176.28.xxx.xxx

在第一台服务器上我添加了一个区域

A   cdn    176.28.xxx.xxx

当我输入cdn.mydomain.com 时,此链接将打开176.28.xxx.xxx(我已经设置了主机) 这工作正常。

我需要什么

当用户输入mydomain.com/cdn 时,我需要打开与cdn.mydomain.com 相同的文件(在第二台服务器上)

例子

用户类型:mydomain.com/cdn/myphotos.zip

需要打开:cdn.mydomain.com/myphotos.zip

如何设置?

我正在尝试,但没有运气。我有 Ubuntu 和 Nginx。没有阿帕奇。 我需要 ngnix 的配置。有谁能够帮我?谢谢

【问题讨论】:

    标签: nginx server nginx-reverse-proxy nginx-location


    【解决方案1】:

    您可以使用映射来捕获相对于服务器 1 上 cdn 目录的路径,然后定义一个指向服务器 2 根目录的同一文件的变量。

    地图在 nginx 周期的早期进行评估,是使用正则表达式的好地方。

    map $uri $cdn_uri {
        ~^/cdn/(?<path>.+) $scheme://cdn.mydomain.com/$path;
    }
    

    如果设置了 $cdn_uri 变量,则在服务器 2 上重定向到它。

    server {
        # Server 1
    
        if ($cdn_uri) {
            return 301 $cdn_uri;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-10-16
      • 1970-01-01
      • 2015-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-24
      • 1970-01-01
      • 2016-01-20
      相关资源
      最近更新 更多