Apache2静态文件跨域

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/p1641210337/article/details/81592635

我的Apache2版本为2.4.25。测试成功。

在网上有很多教程,都提到了要添加一行Header命令。这本身是没有问题的,但Header是死活找不着的,systemctl会提示找不到Header命令。

这是因为缺少了一个模块。

加载headers模块

首先你应该已经知道/etc/apache2/这个文件夹的作用了。自己的发行版自己去找,我是Debian9

进入apache2/mods-enabled,里面就是已加载的模块了。

进入 apache2/mods-available,里面是所有的可用的模块。

mods-available里面,有一个模块叫headers.load,这就是我们要加载的模块。

如果你的系统也提示你找不到Header命令的话,你的mods-enabled里面一定是没有这个文件的。

我觉得手动复制过去也是可以的,不过我没测试。我本人是用的命令。

sudo a2enmod headers

这就加载好了我们的headers.load模块。

sites-available文件

别问我这是个什么文件好吗。

好吧,是/etc/apache2/sites-available/your-site.conf文件。

我想这行代码你应该是认识的吧。

<Directory /home/xxx/media>
    Require all granted
</Directory>

添加一行命令。

<Directory /home/xxx/media>
    Required all granted
    Header set Access-Control-Allow-Origin *
</Directory>

这就是在服务器端添加了CORS支持了。

这个原理就简单得很了,百度一下CORS协议就好了。

重启Apache2服务的方法应该都会的。

sudo service apache2 restart

OK,Apache2静态文件现在可以支持跨域了。

个人的一点小记录,用于自己日后查阅,如有不当请指正。

写完后发现已有大佬做过工作了。我就说,这么基础的问题怎么会现在都没人写呢。大佬的文章链接在此

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页