在使用docker部署前端nginx时,可能会遇到跨域请求失败的问题。本文将帮助你解决这个问题。
问题描述
一位开发者在进行前端nginx配置时,遇到了跨域状态问题。虽然其default.config文件中已设置了相应的代理规则,但实际请求时仍触发跨域限制。
立即学习“前端免费学习笔记(深入)”;
解决方案
该问题的关键原因在于,尽管nginx已代理了3344端口的后端,但前端请求时仍直接访问该端口。要解决这个问题,需要修改前端配置,使之不在请求接口时加入3344端口号。
具体操作步骤
在default.config文件中,需要将以下代理规则:
location / { proxy_pass http://127.0.0.1:3344; }
修改为:
location / { proxy_pass http://backend; }
同时,在前端请求中,直接使用以下形式:
fetch('api/test')
而无需添加端口号:
fetch('http://127.0.0.1:3344/api/test')
通过这些修改,前端请求将直接访问代理后的后端,跨域限制问题将得到解决。