如何为Docker Apache httpd服务器启用CORS?

时间:2017-07-28 02:18:52

标签: apache docker cors httpd.conf

我需要创建一个apache服务器来托管我的文件并通过ajax获取它们。所以,我使用docker来部署我的服务器。

我的码头图片是httpd:2.4。

我使用以下命令部署了服务器:

docker run -p 80:80 -dit --name file-server \
  -v /sources/docker/apache-server/www/:/usr/local/apache2/htdocs/ httpd:2.4

但是当我想要发出ajax请求时,结果就是这样:

  

XMLHttpRequest无法加载http://server/kml/example.kml。没有   '访问控制允许来源'标题出现在请求的上   资源。起源' null'因此不允许访问。

所以,我想按照下一步How to Enable CORS for Apache httpd server? (Step-By-Step Process)进行操作。但我不知道如何在组件的httpd.conf中添加该命令。我没有httpd.conf模板来替换它:

v /sources/docker/apache-server/my-httpd.conf:/usr/local/apache2/conf/httpd.conf

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

您已使用命令 docker exec -it nameContainer sh 在 shell-terminal 中输入。在终端中写入:su 使用这些命令,现在您是 Docker 中的 root 用户。

现在在终端中,您必须编写 a2enmod headers 并重新启动您的 docker

最后一个命令是激活 mod_header,现在你已经在你的项目根文件中创建了一个 .htaccess 并在里面写:

Header add Access-Control-Allow-Origin "*"

这样对我来说工作正常,不需要在我的机器上安装 apache