记录在项目部署时的踩过的坑

记录在项目部署时的踩过的坑


本教程依据个人理解并经过实际验证为正确,特此记录下来,权当笔记。

注:部署在linux操作系统(敏感信息都进行了处理),默认服务器安装了docker以及nginx

使用nginx容器碰到的问题

使用 容器 nginx 反向代理宿主机中的tomcat 就会涉及到容器和宿主机的通信, 如果容器和宿主机处于同一个网段,那么问题就简单了,但是就像虚拟机一样,容器总是有一个自己的内网网段。Docker 默认的网络配置是桥接模式,即容器通过宿主机与外界进行通信,而容器自身的 ip 是随机的,容器访问宿主机的ip是 容器ip所在网段.1,即比如容器得到的随机ip是 172.18.0.2,那么宿主机的ip就是 172.18.0.1
即:在容器内访问127.0.0.1是访问不到宿主机的,通过更换为宿主机ip才可以访问的到

cors跨域问题和servlet拦截器的先后问题

现在碰到个问题,前端访问后端接口时,后端先执行了servlet的拦截器,返回401错误,这时不会执行cors跨域方案,那么redponse的header就没有Access-Control-Allow-Origin这个字段,这时前端浏览器直接抛错,不会理会response(打印出来为undefined),这样就无法判断状态码,也就不能继续后续的操作了。错误的原因可能是前端访问后端的url填写有误,前端无法请求到后端。

纠偏

将后台上线后,点击登录没反应且没状态码的情况:要纠正一个思想错误:访问服务器的地址时,nginx将你需要的资源(图片、css、html、js)发送到你的电脑,所以访问后端接口时,不是资源所在的服务器进行访问,而是用你的电脑进行访问,所以不能在antd中配置内网IP,这点极其重要。

posted @ 2019-11-23 11:23  健人雄  阅读(236)  评论(0编辑  收藏  举报