我需要从我的地图服务器(QGIS mapserver)发送一个CORS头,它在端口8080上使用带有Apache 2.4。*的快速cgi。
我配置了一个简单的
<VirtualHost *:8080>
[...]
Header set Access-Control-Allow-Origin "*"
</VirtualHost>
它有效。
我想设置代理以避免在URL中指定端口。 我在端口80中配置了另一个Virtualhost:
<VirtualHost *:80>
ProxyPass /cgi-bin/ http://localhost:8080/
ProxyPassReverse /cgi-bin/ http://localhost:8080/
# Is useful this?
Header set Access-Control-Allow-Origin "*"
</VirtualHost>
但标题不会传播。 有一个解决方案吗?
答案 0 :(得分:1)
添加always
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
并启用标头模块
a2enmod headers
答案 1 :(得分:0)
这对我有用-将LocationMatch与ProxyPass和标头一起使用:
<VirtualHost *:80>
<LocationMatch "/cgi-bin/">
ProxyPass http://localhost:8080/
ProxyPassReverse http://localhost:8080/
Header add Access-Control-Allow-Origin "*"
</LocationMatch>
</VirtualHost>