Nginx、Aapache、IIS设置跨域访问

Nginx、Aapache、IIS设置跨域访问

Jammm
2020-03-18 / 0 评论 / 416 阅读 / 正在检测是否收录...

今天在无意间看到了Pio看板娘插件无法跨域访问json的问题。
jampang.cn/www.jampang.cn是两个域名,虽然它们指向的是同一个ip
为什么同一个目录下会有跨域呢,Typecho设置中有个[站点地址],如果你设置的是jampang.cn那对于访问www.jampang.cn就是跨域了


Nginx

在nginx的配置项中写入

#允许指定域名
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';

注意一般[*]写你允许跨域访问的域名。

[*]表示允许任何请求。

修改完记得重启Nginx服务


Aapache

找到配置文件 httpd.conf

#LoadModule headers_module modules/mod_headers.so

去掉#

在指定的Directory写下面的配置

<Directory "/var/www/html">
    AllowOverride None
    Require all granted
    Header set Access-Control-Allow-Origin *
</Directory>

注意一般[*]写你允许跨域访问的域名。

[*]表示允许任何请求。

如果有.htaccess文件

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin: "*"
    Header set Access-Control-Allow-Methods: "GET,POST,PUT,DELETE,OPTIONS"
    Header set Access-Control-Allow-Headers: "X-Requested-With,Content-Type"
</IfModule>

注意一般[*]写你允许跨域访问的域名。

[*]表示允许任何请求。

或者写全局配置,在httpd.conf下面添加

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin: "*"
    Header set Access-Control-Allow-Methods: "GET,POST,PUT,DELETE,OPTIONS"
    Header set Access-Control-Allow-Headers: "Content-Type"
</IfModule>

注意一般[*]写你允许跨域访问的域名。

[*]表示允许任何请求。
详细跨域看:CSDN
修改完记得重启Apache服务

IIS

在IIS控制面板中找到[HTTP响应标头],点进去在右侧点击添加
分两次添加

Access-Control-Allow-Headers:Content-Type
Access-Control-Allow-Origin:*

注意一般[*]写你允许跨域访问的域名。

[*]表示允许任何请求。
修改完记得重启IIS服务
本文共 302 个字数,平均阅读时长 ≈ 1分钟
0

打赏

海报

正在生成.....

评论 (0)

取消