解决无法跨域问题【宝塔Nginx、Apache、HTML、Java、.net】

前言


跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对 javascript 施加的安全限制。

概述

出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说 Web 是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的 javascript 脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)。

什么是跨域?

a 页面想获取 b 页面的资源,如果 a、b 页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。比如我们在使用 CDN 时就经常会遇到跨域问题。

宝塔设置跨域问题(Nginx环境添加允许跨域Header头

1. 选择网站-设置

宝塔Nginx解决无法跨域问题-猫叔栈

2.在设置-配置文件中添加一下代码并保存(如图)

宝塔Nginx解决无法跨域问题-猫叔栈

代码

3.重启nginx

点击左侧菜单栏的 “软件商店”,找到“Nginx”,并点击重启按钮即可。

宝塔Nginx解决无法跨域问题-猫叔栈

HTML

Java

.net

Apache

添加到 httpd.conf 最下面

结语

网站一般在需要共享资源给其他网站时(跨域传递数据)

才会设置access-control-allow-origin HTTP头设置

Access-Control-Allow-Origin 可以解决多域名跨域问题

Access-Control-Allow-Origin * 等所有网站都可以跨域访问

Access-Control-Allow-Origin ffsir.com 允许ffsir.com跨域访问

注意:之前在代码里面已经进行过跨域操作,就会出现以下错误

*The ‘Access-Control-Allow-Origin’ header contains multiple values’*, ’, but only one is allowed.

所以一旦给站点配置了跨域操作,一定要将代码中的跨域操作删除,删除,再删除!!! 

© 版权声明
THE END
点赞11 分享
评论 共1条
头像
请认真评论,发表纯数字纯表情做禁言处理!
提交
头像

昵称

取消
昵称常用语表情代码图片