저는 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_files
HTTP 상태 코드에는 작동하지 않습니다.
/index.php
항상 파일 시스템에 있으므로 @proxy
대상은 사용되지 않습니다.
WordPress 404 오류 생성 후크에 연결하여 기능을 구현하고 거기에서 프록시를 수행해야 합니다.