![nginx 中的 url 转发](https://linux22.com/image/657461/nginx%20%E4%B8%AD%E7%9A%84%20url%20%E8%BD%AC%E5%8F%91.png)
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;
}