我的/etc/apache2/sites-enabled/example.com.conf
远程服务器看起来像这样......
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias images.example.com
Header set Access-Control-Allow-Origin "*"
DocumentRoot /home/username/var/www/example.com/public_html/
ErrorLog /home/username/var/www/example.com/logs/error.log
CustomLog /home/username/var/www/example.com/logs/access.log combined
</VirtualHost>
我在本地机器上运行一个 Django 项目。该项目向远程服务器发出 GET 请求以读取 JSON 文件:http://images.remote-server.com/dir/subdir/info.json
但我在浏览器的控制台中看到这个错误。
Failed to load http://images.remote-server.com/dir/subdir/info.json: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:8000' is therefore not allowed access.
我在我的 中什么也没看到error.log
。
我该如何'Access-Control-Allow-Origin'
在我的.conf
文件中正确设置?
答案1
要使用 Apache 将 CORS 授权添加到标头,只需在以下任一位置添加以下行:目录,地点,文件或者虚拟主机服务器配置的部分(通常位于 *.conf 文件中,例如 httpd.conf 或 apache.conf),或在 .htaccess 文件中:
<VirtualHost *:80>
....
Header set Access-Control-Allow-Origin "*"
</VirtualHost>
并重新启动(重新加载)apache
看来您已将“Header”添加到错误的虚拟主机