apache服务端解决跨域问题

原来业务中遇到过前端需要跨域访问php和java域名的情况,处理过没详细记录,结果这次又需要用到的时候芭比Q了,设置完apache死活不行,被迫又尝试了在axios和其他地方做设置,中途一度想要向谷歌浏览器下手,万幸最后看了一眼原来的配置。

修改配置的话网上有很多就不详细说了主要就是在apache中修改httpd.conf,找到#LoadModule headers_module modules/mod_headers.so把注释去掉(已经处理的略过)

然后打开httpd-vhosts.conf 在<Directory>中插入Header那部分,在Methods后边写入自己需要的请求方式,我看很多人都是只加set Access-Control-Allow-Origin *就可以了,但是我这边实测不加其他两个死活都不行。

<VirtualHost *:80>
  ServerName localhost
  ServerAlias localhost
  DocumentRoot "${INSTALL_DIR}/www"
  <Directory "${INSTALL_DIR}/www/">
    Options -Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
	Require all granted
	# 对所有域名开放
	Header set Access-Control-Allow-Origin *
	Header set Access-Control-Allow-Methods POST,GET,OPTIONS
	Header set Access-Control-Allow-Headers *
  </Directory>
</VirtualHost>

对了,还要啰嗦一句 如果你的服务器开启了alias,要在别名的设置里边修改,也是在<Directory>中插入Header那部分


版权声明:本文为weixin_60925516原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。