前端部署nginx刷新后404,解决Nginx刷新页面后404的问题
短信预约 -IT技能 免费直播动态提醒
问题描述:
使用Nginx部署后,登录页面刷新一下就出来404,如下图:
刷新以后 ,页面变成404 Not Found
解决方案:
查看了一下nginx配置,出现问题的配置是这样的:
server { listen 8088; server_name localhost; location / { root html/dist; index index.html index.htm; } location /gateway/ { rewrite ^/gateway/(.*) /$1 break; proxy_set_header Host $host; 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_connect_timeout 5; proxy_pass http://192.168.0.11:9000/; }
修改后的配置是这样的
server { listen 8088; server_name localhost; location / { root html/dist; index index.html index.htm; try_files $uri $uri/ /index.html; } location /gateway/ { rewrite ^/gateway/(.*) /$1 break; proxy_set_header Host $host; 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_connect_timeout 5; proxy_pass http://192.168.0.11:9000/; }
添加了try_files $uri $uri/ /index.html,
然后重启一下nginx问题就解决了。
解释:
- try_files 表示检查文件是否存在,返回第一个找到的文件,这里设置是index.html内部重定向。
另外,还有一种404报错的问题,可能是nginx访问文件权限问题,
打开nginx.conf,第一行默认是这样的
#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections 1024;}以下省略
可能是你访问的路径,需要root权限,而你启动nginx使用的普通用户,权限不足导致访问不到文件,所以可以这么修改:
user root;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections 1024;}以下省略
来源地址:https://blog.csdn.net/ma726518972/article/details/125400298
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341