如何实现Nginx根据路径分配代理?

Nginx

1 前言

一个问题,一篇文章,一出故事。
笔者生产环境遇到需要根据URI路径选择走哪个代理服务器的案例,于是整理此文。

2 最佳实践

2.1 加入代码

vim /etc/nginx/conf.d/www.cmdschool.org.conf

加入如下代码,

  location ~ ^/(html|documents|image)/ {
    if ($http_referer = "https://www.cmdschool.org/") {
        proxy_pass http://rpnode_8089;
    }
    if ($http_referer ~ "https://www.cmdschool.org/web/guest") {
        proxy_pass http://rpnode_8089;
    }
    if ($http_referer ~ "https://www.cmdschool.org/web/it") {
        proxy_pass http://rpnode_8090;
    }
    proxy_set_header  Host $host:$server_port;
  }

2.2 重载使配置生效

systemctl reload nginx.service
没有评论

发表评论

Nginx
如何解决Nginx代理传大文件不同步问题?

1 前言 一个问题,一篇文章,一出故事。 笔者生产环境遇到用户透过反向代理上传大文件提示用户已经完成 …

Nginx
如何实现Nginx返回字符串或变量值?

1 前言 一个问题,一篇文章,一出故事。 笔者测试环境中经常需要返回Nginx变量的具体值,于是整理 …

Nginx
如何实现Nginx去除重复的URL关键字?

1 前言 一个问题,一篇文章,一出故事。 笔者生产环境的反向代理(Nginx)一个URL(链接)中反 …