Nginx配置跨域

跨域是指不同域名之间相互访问。

方法一:nginx新建crossdomain.xml

1. 进入 nginx 的 html 目录,新建 crossdomain.xml,具体路径: /usr/local/nginx/html/crossdomain.xml
2. 在 crossdomain.xml 中添加类似如下内容:

1.  <?xml version="1.0" encoding="UTF-8"?>
2.  <!DOCTYPE cross-domain-policy SYSTEM "http:www.adobe.com/xml/dtds/cross-domain-policy.dtd">
3.  <cross-domain-policy>
4.  <allow-access-from domain="*" />
5.  </cross-domain-policy>

注意:默认情况下,/usr/local/nginx/html/crossdomain.xml 是不存在的。
参见:

https://help.aliyun.com/knowledge_detail/41123.html

方法二:配置nginx.conf

在其中加入:

1.  #允许跨域访问
2.  #add_header 'Access-Control-Allow-Origin' '*'; #不限域名
3.  add_header 'Access-Control-Allow-Origin' 'http://m.domain.com'; #限制域名的方式
4.   add_header 'Access-Control-Allow-Credentials' 'true';
5.  add_header 'Access-Control-Allow-Methods' 'OPTION, POST, GET';
6.  add_header 'Access-Control-Allow-Headers' 'X-Requested-With, Content-Type';

之前不知道为什么用*模糊匹配所有域名不行(这样不安全),于是换成了对应域名。这里有个坑就是域名前边一定要加http:// 不然会报不支持的域名。

用此种方法解决了ajax跨域的问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。