我需要创建一个 apache 服务器来托管我的文件并通过 ajax 获取它们。所以,我使用 docker 来部署我的服务器。
我的 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 cannot load http://server/kml/example.kml. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
所以,我想按照以下步骤操作 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
请帮我解决这个问题。
最佳答案
您可以使用命令 docker exec -it nameContainer sh
在 shell-terminal 中输入.写入终端:苏 使用这些命令,您现在是 Docker 中的 root 用户。
现在在终端中,你必须写 a2enmod headers
并重新启动您的 docker
最后一个命令是激活 mod_header,现在你已经创建了一个 .htaccess 在您的项目根文件中并写入:
Header add Access-Control-Allow-Origin "*"
有了它,我工作正常,不需要在我的机器上安装 apache
关于apache - 如何为 Docker Apache httpd 服务器启用 CORS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45363822/