Primeira vez usando nginx. Quero encaminhar qualquer solicitação recebida semelhante a esta: https://www.example.com/elasticsearch
para http://localhost:9200
com nginx. Escrevi o seguinte na minha configuração do nginx na tag http.
server {
listen 3333;
server_name www.example.com/elasticsearch;
return 301 $scheme://localhost:9200;
location / {
allow 'elasticsearch';
deny all;
}
}
Infelizmente quando eu uso nginx -t
recebo o seguinte emerge:
nginx: [emerg] invalid parameter "elasticsearch" in /etc/nginx/nginx.conf:79
Responder1
server_name
O parâmetro contém apenas o nome do servidor, e não qualquer URI no servidor.
Você pode fazer a reescrita assim:
server {
listen 3333;
server_name www.example.com;
location /elasticsearch {
return 301 $scheme://localhost:9200;
}
}
Se você quiser negar acesso a outros locais, o que sua configuração diz, mas sua pergunta não, você pode usar este location
bloco além do acima:
location / {
deny all;
}