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

标签 apache docker cors httpd.conf

我需要创建一个 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/

相关文章:

apache - 如何强制Apache使用CSS和JS文件的手动预压缩gz文件?

Java Apache httpclient 阻塞 GUI

gradle - Gradle Docker插件连接超时

docker - 使用 exec 从 Docker 容器上的主机运行脚本

python - 在本地文件夹上运行 Docker 镜像

php - UTF-8贯穿始终

mysql - MAMP Pro 在系统清理后启动 SQL Server 时出现问题

docker - CORS 在带有 NGINX 的 Docker-Compose 堆栈中的某处失败 - 找不到它

java - 如何使 CORS 过滤器在具有基本身份验证的 Jersey REST 中工作?

javascript - 如何从浏览器向 Node.js 服务器发送大文件?