位置上下文在 NGINX 配置文件中不起作用
Location context not working in NGINX config file
我是 nginx 的新手,正在编写配置文件我正在编辑位于 /etc/nginx/sites-available/default 的默认文件,我正在使用 Ubuntu OS.
我在访问托管在服务器
上的 http://localhost:5601 的 kibana 网络 UI 时遇到问题
在我的网络浏览器上,我正在做 http://server-name/ 并且如果我将位置从 /app/home/ 更改为 / 我能够访问 kibana,我可以类似地访问索引文件网页 UI.
但是,当我将位置用作 /app/home/ 时,任何一项服务都无法正常工作,我无法访问 index.html 和 http://localhost:5601.
请让我知道我在做什么错误。
我可以在 nginx access.log 文件中看到请求正在到达
10.32.2.13 - - [24/Nov/2020:09:58:27 +0000] "GET /app/kibana/ HTTP/1.1" 200 20917 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36"
10.32.2.13 - - [24/Nov/2020:09:58:28 +0000] "GET /bundles/app/core/bootstrap.js HTTP/1.1" 404 209 "http://server-name/app/kibana/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36
server {
listen 80;
server_name <server-name>;
root /usr/share/nginx/elk_website;
location /app/home/ {
proxy_pass http://localhost:5601;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
location /{
index index.html;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
您的 kibana Web UI 无法正常工作的原因非常明显 - kibana 请求的资产 URI(/bundles/app/core/bootstrap.js
在您提供的日志的第二行)不属于location /app/home/ { ... }
并正在尝试通过您的根位置 (location / { ... }
) 提供服务。要让 kibana 将您的 URI 前缀添加到其资产 URI,您应该更改 kibana.yml
文件中的 server.basePath
值。
我是 nginx 的新手,正在编写配置文件我正在编辑位于 /etc/nginx/sites-available/default 的默认文件,我正在使用 Ubuntu OS.
我在访问托管在服务器
上的 http://localhost:5601 的 kibana 网络 UI 时遇到问题在我的网络浏览器上,我正在做 http://server-name/ 并且如果我将位置从 /app/home/ 更改为 / 我能够访问 kibana,我可以类似地访问索引文件网页 UI.
但是,当我将位置用作 /app/home/ 时,任何一项服务都无法正常工作,我无法访问 index.html 和 http://localhost:5601.
请让我知道我在做什么错误。
我可以在 nginx access.log 文件中看到请求正在到达
10.32.2.13 - - [24/Nov/2020:09:58:27 +0000] "GET /app/kibana/ HTTP/1.1" 200 20917 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36"
10.32.2.13 - - [24/Nov/2020:09:58:28 +0000] "GET /bundles/app/core/bootstrap.js HTTP/1.1" 404 209 "http://server-name/app/kibana/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36
server {
listen 80;
server_name <server-name>;
root /usr/share/nginx/elk_website;
location /app/home/ {
proxy_pass http://localhost:5601;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
location /{
index index.html;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
您的 kibana Web UI 无法正常工作的原因非常明显 - kibana 请求的资产 URI(/bundles/app/core/bootstrap.js
在您提供的日志的第二行)不属于location /app/home/ { ... }
并正在尝试通过您的根位置 (location / { ... }
) 提供服务。要让 kibana 将您的 URI 前缀添加到其资产 URI,您应该更改 kibana.yml
文件中的 server.basePath
值。