来自 DB 的路由用于 nginx 反向代理
Routes from DB for nginx reverse proxy
Nginx反向代理如何从外部源获取路由数据?
项目有多个外部文件存储。遗留代码具有以下工作流程:
- 文件请求到达 RoR 控制器
- RoR 从模型 (Postgres) 获取外部文件名
- RoR 从外部源获取文件内容,returns 它
这是一个非常糟糕的概念,所以我想将此逻辑更改为:
- 文件请求来到nginx
- Nginx 从一些 service/script 获取外部文件名,它具有数据库访问权限
- Nginx 通过来自 (2) 的文件名代理来自外部源的文件
所以,问题是如何从nginx中获取存储在postgres中的文件名?我想,通过对本地主机的 http 请求获取它是可以的,但是如何在 nginx 配置中执行此操作?
这是一个糟糕的概念。好的概念是
- 文件请求来到nginx
- nginx 传递给 RoR
- RoR 从模型 (Postgres) 获取外部文件名
- RoR 通过
X-Accel-Redirect
传递 nginx 新 URI
- nginx 提供文件。
Nginx反向代理如何从外部源获取路由数据?
项目有多个外部文件存储。遗留代码具有以下工作流程:
- 文件请求到达 RoR 控制器
- RoR 从模型 (Postgres) 获取外部文件名
- RoR 从外部源获取文件内容,returns 它
这是一个非常糟糕的概念,所以我想将此逻辑更改为:
- 文件请求来到nginx
- Nginx 从一些 service/script 获取外部文件名,它具有数据库访问权限
- Nginx 通过来自 (2) 的文件名代理来自外部源的文件
所以,问题是如何从nginx中获取存储在postgres中的文件名?我想,通过对本地主机的 http 请求获取它是可以的,但是如何在 nginx 配置中执行此操作?
这是一个糟糕的概念。好的概念是
- 文件请求来到nginx
- nginx 传递给 RoR
- RoR 从模型 (Postgres) 获取外部文件名
- RoR 通过
X-Accel-Redirect
传递 nginx 新 URI
- nginx 提供文件。