여러 토큰 번호에 관해서는 재 작성에 몇 가지 문제가 있습니다.Nginx Regex Multiple Token (+)으로 다시 작성
API의 버전 관리를 위해 최선을 다하고 있으므로 더 이상 사용되지 않는 버전 호출은 최신 버전으로 변경됩니다. 단순화를 위해 v4
및 v5
을 지원한다고 가정 해 보겠습니다. 어떤 경우에는 v1-3
이 표시되고 v5
으로 가야합니다. 마찬가지로 누군가 v6
에 도달하면 v5
으로 이동해야합니다.
우리 nginx.conf 상류와 proxy_pass 그래서 난 각 버전은
upstream v4 {
server 127.0.0.1:3000
}
upstream v5 {
server 127.0.0.1:3001
}
은 우리가
location ^~ /v5 {
proxy_pass $scheme://v5;
}
location ^~ /v4 {
proxy_pass $scheme://v4;
}
location ~* "^/v[0-9]+" {
rewrite ^/v[0-9]+/(.*)$ /$latestVersion/$1;
proxy_pass $scheme://$latestUpstream;
}
마지막 위치 블록 작품 v0-9
을위한 프록시에 위치 블록을 사용하여 다른 포트에서 실행해야합니다 하지만 +
을 사용하고 있지만 숫자가 v11
과 같이 여러 자릿수 일 때이를 포착하지 못합니다.
위의 사항에 대한 도움이 될 것입니다. 이것으로 정말 혼란스러워. 감사! 다음 블록
설명해 주셔서 감사합니다. 정말 도움이되었습니다. '/ v40..9 '와'/ v50 ... 9'가'/ v4 '와'/ v5' 위치로가는 예상치 못한 동작을 발견했습니다. 위치. 그것에 대한 제안이 있습니까? 나는'(/ | $)'와 같은 정규식을 시도했지만 작동하지 않았다. – Dan