【发布时间】:2019-01-31 21:45:01
【问题描述】:
我正在尝试配置 nginx 以提供不同版本的 Angular SPA,通常以“dev”或“prod”为前缀,但位置为“dev”和“prod”,但我不想要nginx 暴露未配置的目录(在 nginx.conf 中)。
例如,
http://myserver/dev
http://myserver/dev-SomeFeatureBranch
如果我使用精确匹配(= 修饰符),我无法到达 /dev 或 /dev-SomeFeatureBranch 以下的任何内容,所以这不是一个选项。
如果我不指定修饰符,我会得到前缀匹配,这有点用,但会暴露我未在我的 nginx.conf 中配置的其他分支
例如,如果我在与其他 Dev 分支相同的目录中有一个名为“dev-SomePrivateBranch”的目录,并且我使用以下配置:
location / {
root ../www;
}
location /dev {
alias ../dev;
}
location /dev-SomeFeatureBranch {
alias ../dev-SomeFeatureBranch;
}
我可以有效地到达http://myserver/dev-SomePrivateBranch,因为它匹配“/dev”,但我不想到达我没有明确配置的位置。
加上斜杠的问题,我希望http://myserver/dev/ 和http://myserver/dev 一样工作
一旦你习惯了 nginx 的方式,我相信这非常简单,但我似乎无法让它为我的生活工作。
【问题讨论】:
标签: nginx