最近研究kong gateway ,部署是在云服务器上部署的,在我电脑上访问Kong Manager出现跨域问题,错误如下:
浏览器的控制台中报错如下
Access to XMLHttpRequest at 'http://my-server-ip:8001/' from origin 'http://my-server-ip:8002' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header has a value 'http://localhost:8002' that is not equal to the supplied origin
查了很久网上没有和我相同的问题,
又仔细看了docker启动kong容器的命令
发现环境变量-e "KONG_ADMIN_GUI_URL=http://localhost:8002" 可能与跨域有关,于是更改了启动命令的环境变量
-e "KONG_ADMIN_GUI_URL=http://我的服务器ip地址:8002"
问题得到解决
docker run -d --name kong-gateway \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_USER=kong" \
-e "KONG_PG_PASSWORD=kongpass" \
-e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \
-e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \
-e "KONG_PROXY_ERROR_LOG=/dev/stderr" \
-e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \
-e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" \
-e "KONG_ADMIN_GUI_URL=http://我的服务器ip:8002" \
-p 8000:8000 \
-p 8443:8443 \
-p 8001:8001 \
-p 8002:8002 \
-p 127.0.0.1:8444:8444 \
kong:3.6.1
可以正常访问了