nginx 中的 url 转发

nginx 中的 url 转发

https://www.example.com/elasticsearch第一次使用 nginx。我想使用nginx转发任何如下所示的传入请求:http://localhost:9200。我在 nginx 配置中的 http 标记中写入了以下内容。

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

不幸的是,当我使用时,nginx -t我收到以下紧急情况:

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;
}

相关内容