前端项目访问踩坑

问题现象:前端项目打开没有问题,然后输入密码登录的时候没反应,本来应该报错的提示也没有了,就一个红色的小方框。这就很奇怪了,按说开发写好前端代码,然后点击登录会通过接口查询后端接口的数据,但没有。通过鼠标右键的检查也没有看到访问的后端接口,这说明没有访问,一般情况下就是让前端继续检查代码,不过这里的情况并非如此。继续排查
询问了其他的前端,按照他们的意思是nginx里面也要配置访问的后端location,如下所示:

location / {
       root /xxx/xxx/xx;
       if (!-e $request_filename) {
           rewrite ^.*$ /index.html last;
           break;
        }
	index index.htm index.html;
        try_files $uri $uri/ /index.html;
}
location /api/ {                     //这是后端的location
	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_buffer_size 	128k;
	proxy_buffers	32	128k;
	proxy_busy_buffers_size	128k;
	proxy_pass	http://172.26.20.2:9111/;

    }

其实我之前也写过前端,之前没有在nginx里面配置后端的location这一段,所以我对这块有点疑惑,然后现在听了这个前端开发的人员说,这个location配不配需要看情况,像这个项目就需要配置,因为代码里面定义的是访问当前这个域名的后端的/api/接口,这样写有一个好处就是不用解决前后端跨域的问题。当然也可以不在nginx里面写这一段,那么就需要在前端代码里面把访问后端接口的代码写死,但是会出现的问题就是跨域问题。所以你还要解决跨域问题。
所以说这就是两者的区别。
配置好之后,就出现了下面正常的页面了

posted @ 2021-08-18 20:28  峰哥ge  阅读(171)  评论(0编辑  收藏  举报