如何解决如何配置nginx从代理处理404并且不将404闪存到最终用户的浏览器控制台?
我将nginx用作minio上托管的nuxt.js网站的反向代理。每次我请求任何不存在但由vue路由器描述的路径时,我都会在开发人员控制台中得到404,但该路径正在加载。有办法避免这种行为吗?还是只是正常情况?
我正在寻找类似try_files
的指令,该指令可以应用于'minio proxy'块。
我的nginx配置:
server {
listen 80;
server_name 10.8.0.1;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
charset utf-8;
# logging
access_log /var/log/nginx/10.8.0.1.access.log;
error_log /var/log/nginx/10.8.0.1.error.log warn;
index index.html;
error_page 404 /index.html;
# minio proxy
location / {
gzip_static on;
rewrite ^/$ /minio/index.html break;
expires 31d;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_connect_timeout 300;
proxy_http_version 1.1;
proxy_set_header Connection "";
chunked_transfer_encoding off;
proxy_pass http://localhost:9000/minio/;
proxy_intercept_errors on;
}
}
# Websockets
server {
listen 6566;
server_name 10.8.0.1;
location / {
proxy_pass http://10.3.0.175:6001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
}
没有文件存储在本地,因此不需要root
指令。大概...
minio中的文件被压缩。
我尝试将error_page
指令更改为
error_page 404 =200 /index.html
和
error_page 404 =417 /index.html
但是在这两种情况下,nuxt都不会下载资源(对应的js和css)。
我还尝试了404的命名位置,但是无论如何Nginx都会闪烁404到开发控制台,并且我想避免在配置文件中重复代码。可能有一个更轻松的解决方案。
在此先感谢英语不好。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。