Ubuntu 中 Apache 设置允许跨域

1.首先找到 httpd.conf 文件

找到 #LoadModule headers_module modules/mod_headers.so

把#注释符去掉(也有可能已经默认去掉了)

目的是开启apache头信息自定义模块

如果你是 Ubuntu,也可以执行下面的命令来开启这个模块:

$ sudo service a2enmod headers

2.找到你的虚拟主机文件 注意是被跨域的网站的 具体内容是这样的文件

也有可能是别的样子的,但是<Directory> </Directory> 不变

<VirtualHost *:80> 
    DocumentRoot "/var/www/<your-app>"
    ServerName your-app.com
    
    <Directory "/var/www/<your-app>">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

然后在 <Directory></Directory> 中添加一行:

#对所有域名开放       
Header set Access-Control-Allow-Origin *   (这样加上一行)

#对指定域名开放
Header set Access-Control-Allow-Origin http://www.***.com  (或者这样加上一行)

修改后如下:

<VirtualHost *:80> 
    DocumentRoot "/var/www/<your-app>"
    ServerName your-app.com
    
    <Directory "/var/www/<your-app>">
        AllowOverride All
        Require all granted
        Header set Access-Control-Allow-Origin *
    </Directory>
</VirtualHost>
  1. 重启一下服务器
$ sudo service apache2 restart