Apache Proxy问题上的CORS(访问控制允许来源)

时间:2016-07-15 15:42:28

标签: apache proxy cors mod-proxy mod-headers

我需要从我的地图服务器(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>

但标题不会传播。 有一个解决方案吗?

2 个答案:

答案 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>