nginx에서 URL 전달

nginx에서 URL 전달

nginx를 처음 사용합니다. 다음과 같은 들어오는 요청을 nginx를 사용하여 전달하고 https://www.example.com/elasticsearch싶습니다 http://localhost:9200. http 태그의 nginx 구성에 다음을 썼습니다.

server {
        listen 3333;
        server_name www.example.com/elasticsearch;
        return 301 $scheme://localhost:9200;
        location / {
                allow 'elasticsearch';
                deny all;
        }
}

불행하게도 내가 사용할 때 nginx -t나는 다음과 같은 emerg를 받습니다:

nginx: [emerg] invalid parameter "elasticsearch" in /etc/nginx/nginx.conf:79

답변1

server_name매개변수에는 서버의 URI가 아닌 서버 이름만 포함됩니다.

다음과 같이 다시 작성할 수 있습니다.

server {
    listen 3333;
    server_name www.example.com;
    location /elasticsearch {
        return 301 $scheme://localhost:9200;
    }
}

구성에는 명시되어 있지만 질문에서는 그렇지 않은 다른 위치에 대한 액세스를 거부하려면 location위의 블록 외에 이 블록을 사용할 수 있습니다.

location / {
    deny all;
}

관련 정보