1
我在我的nginx的配置在以下位置:如何制作正则表达式nginx位置?
server {
listen 80;
server_name localhost;
location ~ ^/(?!api)(.*)/api {
alias /var/www/api/$1;
}
location /api {
alias /var/www/api/latest;
}
我想匹配/ API作为最新版本,和/ <版本>/API为别的。非正则表达式的位置工作正常,但我在其他位置得到403。
我不认为这是什么做的文件和权限的被服务,因为我得到一个403,如果我尝试访问
/latest/api
即使这些是相同的文件由
/api
有没有人有想法,为什么我得到403?
nginx的错误是:
directory index of "/var/www/api/latest" is forbidden, client:
172.17.0.1, server: localhost, request: "HEAD /latest/api/ HTTP/1.1",
host: "localhost"
我不熟悉nginx的CONFIGS,但似乎'/.+/ api'(比赛斜线,一个或多个字符,斜线,API)应该做的事你正在寻找。 – jhscheer
我对它进行了一些研究,看起来,你需要引用你的位置正则表达式。 – jhscheer
谢谢。不是说它不能改进,但正则表达式是匹配的(正如我可以从nginx日志中看到的那样)。这似乎是一个nginx问题 –