tp5.1 前后端分离,在腾讯云服务器上遭遇 cors 跨域问题
一名开发者在使用 tp5.1 进行前后端分离开发时遇到 cors 跨域问题。他在本地环境下可以正常执行,但在部署到腾讯云 centos 7 服务器上后却无法解决该问题。
开发者在本地环境的服务器配置如图所示:
# 在本地服务器上的配置 header("access-control-allow-origin: *"); header("access-control-allow-headers: content-type, content-length, authorization, accept, x-requested-with"); header("access-control-allow-methods: get, post, put, delete, options");
随后,开发者在网上尝试了各种解决方案,但都没能解决问题。
解决方案
根据回答者的提示,开发者发现自己在本地环境中配置的是接收端域名,而正确的配置应该是针对请求端的域名。
正确的配置应该是:
# 在腾讯云服务器上的配置 header("Access-Control-Allow-Origin: https://example.com"); # 将 https://example.com 替换为你的请求端域名 header("Access-Control-Allow-Headers: Content-Type, Content-Length, Authorization, Accept, X-Requested-With"); header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");
经过更改配置后,开发者成功解决了 cors 跨域问题。