解决docker部署的geoserver跨域问题
一、背景介绍
因为云服务器配置不高,Geoserver经常跑满内存导致服务器经常卡死,所以使用内网穿透将内网服务器上的geoserver可以通过外网地址访问
二、报错内容
前端在进行调试时,出现以下报错
具体为
The 'Access-Control-Allow-Origin' header contains multiple values'x, *', but only one is allowed
三、解决问题
1. 进入容器
sudo docker exec -it geoserver /bin/bash #geoserver为geoserver容器的名称,根据实际情况自行替换
2. 进入配置文件
vim /usr/local/tomcat/webapps/geoserver/WEB-INF/web.xml
3. 修改配置文件
按照图中将以下两个地方的跨域配置进行注释掉
按i进入编辑模式
注释完后 按ESC键 再输入 :wq 进行保存退出
4. 退出容器
exit
5. 重启容器
sudo docker restart geoserver
四、验证效果
能够正常访问 说明问题解决
五、结论
这个报错是由于多个服务重复配置了跨域,只要注释掉多余的跨域配置就行了