reenvío de URL en nginx

reenvío de URL en nginx

Primera vez que uso nginx. Quiero reenviar cualquier solicitud entrante que tenga este aspecto: https://www.example.com/elasticsearcha http://localhost:9200con nginx. Escribí lo siguiente en mi configuración de nginx en la etiqueta http.

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

Desafortunadamente, cuando lo uso nginx -trecibo el siguiente emerg:

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

Respuesta1

server_nameEl parámetro contiene solo el nombre del servidor, no ningún URI en el servidor.

Puedes hacer la reescritura así:

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

Si desea denegar el acceso a otras ubicaciones, lo que dice su configuración pero su pregunta no, puede usar este locationbloque además del anterior:

location / {
    deny all;
}

información relacionada