第一次使用nginx。我想轉發任何傳入的請求,如下所示:https://www.example.com/elasticsearch
到http://localhost:9200
nginx。我在 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;
}