nginx - 如何以 DRY 方式在包含共享路径的 2 个应用程序之间进行代理
问题描述
我是新手,Ngnix
我正在寻找一些建议以避免重复定位块并保留功能。我曾经有一个反应应用程序react.mydomain.cc
在我的Nginx
配置文件中,我正在代理从/
到react.mydomain.cc
location / {
try_files $uri @approute;
}
location @approute {
proxy_ssl_server_name on;
set $react "http://react.mydomain.cc";
proxy_pass $react$request_uri;
}
现在,我想用新应用程序替换旧应用程序的一部分,而不必对旧应用程序进行更改。
逻辑是。
如果用户去www.mydomain.cc
他应该被代理到新的应用程序http://new-react.mydomain.cc
相同的其他路径,如:
/about
/contact
/blog
/whoiam
/photos
还有一些
这些页面也可以通过其他子域激活,http://react.mydomain.cc/about
但不能通过 nginx 域访问,www.mydomain.cc
如果用户去
/notes
/playground
/app/*
/internal/*
他应该被代理到旧应用程序。
示例:用户去www.mydomain.cc/notes
并且他被代理到http://react.mydomain.cc/notes
。然后他单击链接/about
,http://new-react.mydomain.cc/about
即使旧应用程序具有/about
.
谁能帮我避免重复 20 次定位块?我正在尝试以更清洁的方式实现相同的目标。请让我知道是否需要版本来澄清。记住我是新人。
解决方案
推荐阅读
- express - 未定义的 jwt 令牌反应/表达
- unity3d - 无法通过 Autodoesk forge API 创建场景
- c - 如何使用循环展开和重新关联?
- arrays - 如何提取@_的子集?
- entity-framework - selectList razor 标签助手 asp.netCore
- php - preg_match 中的正则表达式不匹配行注释源代码并捕获错误的子模式
- python - 关于 app_ctx_stack 和 request_ctx_stack 的详细信息
- c# - 测试项目依赖于数据库 SQL Server
- javascript - 反复改变图片onMouseOver的背景颜色
- mysql - 雄辩地通过2个字段进行搜索