nginx 使用 lua 实现动态 document root
依赖
项目路径
- 根路径:
/usr/local/share/openresty-docroot - 该目录下包含多个子目录,运行时的 document root 为其中的某一个目录,具体哪一个根据 HTTP 请求头 Accept 决定
- 默认为
default目录
nginx 配置
1 | worker_processes 1; |
测试
- 假设
/usr/local/share/openresty-docroot下面有default、v1.2.3、v1.2.4三个目录,每个目录包含一个index.html文件,里面的内容分别是default、v1.2.3、v1.2.4
目录结构
/usr/local/share/openresty-docroot ├── default │ └── index.html ├── v1.2.3 │ └── index.html └── v1.2.4 └── index.html
测试结果
- 在 postman 里面不传递 Accept 头的时候,访问
http://localhost:8081会得到default - 传递
Accept: application/prs.gbcloud.v1.2.3+json的时候,会得到v1.2.3 - 传递
Accept: application/prs.gbcloud.v1.2.4+json的时候,会得到v1.2.4