파일을 제외한 Nginx 역방향 프록시

파일을 제외한 Nginx 역방향 프록시

저는 wordpress를 사용하여 랜딩 페이지를 만들었고 example.com에서 호스팅됩니다. 외부 URL의 app.example.com에서 실행되는 앱이 있습니다. 사용자가 WordPress 파일에 액세스하려고 하면 example.com에서 제공되어야 하며 해당 URL이나 폴더를 사용할 수 없는 경우 URL을 마스크하고 example.com/$1과 같은 원격 URL로 이동해야 합니다. nginx 역방향 프록시를 사용해 보았지만 작동하지 않습니다.

location / {
    try_files $uri $uri/ /index.php?$query_string @proxy;
}

location @proxy {
    proxy_pass https://example.com/$1;
    proxy_set_header HOST $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

답변1

try_files파일 시스템에 실제 파일이 존재하는지 확인하는 유일한 방법 입니다. 존재하는 파일을 찾으면 해당 파일을 사용하여 응답을 제공합니다. try_filesHTTP 상태 코드에는 작동하지 않습니다.

/index.php항상 파일 시스템에 있으므로 @proxy대상은 사용되지 않습니다.

WordPress 404 오류 생성 후크에 연결하여 기능을 구현하고 거기에서 프록시를 수행해야 합니다.

관련 정보