Apache RewriteCond 및 RewriteRule을 ngnix로 포팅하려면 어떻게 해야 합니까?

Apache RewriteCond 및 RewriteRule을 ngnix로 포팅하려면 어떻게 해야 합니까?

RewriteCond 및 RewriteRule을 사용하는 Apache 역방향 프록시 구성을 Nginx로 변환해야 합니다.

이와 같은 것을 nginx 구성으로 어떻게 변환할 수 있습니까?

(이것은 메인/유일 <VirtualHost *:443>블록에 있습니다)

    RewriteCond %{HTTP_HOST} ^stagingapi$ [NC]
    RewriteRule ^/(.*) https://staging-zone.mydomain.com/$1 [R,L]

답변1

RewriteRule은 첫 번째 매개변수 정규식으로 시작하는 모든 URI와 일치하는 정규 표현식을 가지며 /, 두 번째 매개변수로 "stagingapi" 사이트(R 플래그)를 다음으로 리디렉션하는 대체 매개변수를 갖습니다.https://staging-zone.mydomain.com/

다음과 같이 시도해 보세요:

server{
  listen 443;
  server_name stagingapi;
  return 301 $scheme://staging-zone.mydomain.com$request_uri permanent;
}

Apache에서와 동일한 동작을 갖도록 항상 HTTPS로 리디렉션하려는 경우 $schemewith로 바꿀 수 있습니다 .https

관련 정보