【已完成】前后端分离项目,pm2管理器项目映射后不访问...
为了能快速了解并处理您的问题,请提供以下基础信息:面板、插件版本:系统版本:
问题描述:后端已经部署,使用PM2管理器映射到域名上,前端文件放在同一目录下,但是打开网页只能访问后端,如果不使用映射后端,直接新建前端网页,则能访问到前端页面(这样就存在跨域),请问如何解决。是不是需要配置nginx,都是默认没有配置过的
相关截图(日志、错误):
您好,浏览器跨域是指浏览器在安全策略下限制了不同源(协议、域名、端口)之间的交互,是浏览器做的安全措施,为了防止恶意网站利用客户端的漏洞来攻击其他网站如果你在代码中无法实现,或者不会,我这里有一段参考代码,可以根据nginx的跨域配置参考代码修改成你自己的
location / {
# 允许跨域的请求,可以自定义变量$http_origin,*表示所有
add_header 'Access-Control-Allow-Origin' *;
# 允许携带cookie请求
add_header 'Access-Control-Allow-Credentials' 'true';
# 允许跨域请求的方法:GET,POST,OPTIONS,PUT
add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,PUT';
# 允许请求时携带的头部信息,*表示所有
add_header 'Access-Control-Allow-Headers' *;
# 允许发送按段获取资源的请求
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
# 一定要有!!!否则Post请求无法进行跨域!
# 在发送Post跨域请求前,会以Options方式发送预检请求,服务器接受时才会正式请求
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain; charset=utf-8';
add_header 'Content-Length' 0;
# 对于Options方式的请求返回204,表示接受跨域请求
return 204;
}
} 大炮运维V587 发表于 2024-3-5 11:14
您好,浏览器跨域是指浏览器在安全策略下限制了不同源(协议、域名、端口)之间的交互,是浏览器做的安全措 ...
您好,我想把前后端设置在同一个域名下,按理说这样就不用设置跨域了吧,比如我把后端映射在一个test.xxx.com这个域名下,然后把前端文件放在后端的目录下,访问test.xxx.com这个域名还是访问的后端接口,如果没有接口则显示not found,没办法访问到前端的页面
页:
[1]