如何匹配Nginx多个location?

Nginx

1 前言

一个问题,一篇文章,一出故事。
笔者反向代理需要对两个以上的网址路径(location)使用相同的配置,于是产生多个location合并为一个location的想法。

2 最佳实践

2.1 实践环境

如果你尚未具备Nginx环境,请先按如下章节准备环境。

如何使用yum安装Nginx?

2.2 配置location整合1

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

加入如下配置,

server {
    #...
    location ~/(admin|manager) {
        #...
    }
    #...
}

配置完成后,需要重载服务使配置生效,

systemctl reload nginx.service

访问路径范例如下,

https://www.cmdschool.org/admin
https://www.cmdschool.org/manager

2.3 配置location整合2

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

加入如下配置,

server {
    #...
    location ~ ^/admin/(pages|pages1)/.*html$ {
        #...
    }
    #...
}

配置完成后,需要重载服务使配置生效,

systemctl reload nginx.service

访问路径范例如下,

https://www.cmdschool.org/admin/pages.html
https://www.cmdschool.org/admin/pages1.html

参阅文档
=============
http://nginx.org/en/docs/beginners_guide.html
http://nginx.org/en/docs/http/ngx_http_core_module.html#location
https://segmentfault.com/a/1190000022315733

没有评论

发表评论

Nginx
如何拒绝外网用户访问特定URL?

1 前言 一个问题,一篇文章,一出故事。 笔者有一个认证接口需要拒绝intetnet的用户访问同时允 …

Nginx
如何实现私网地址重写策略?

1 前言 一个问题,一篇文章,一出故事。 笔者的nextcloud需要透过反向代理实现企业外部2FA …