nginx を初めて使用します。次のような着信リクエストをnginxhttps://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
次のエラーが発生します。
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;
}