这几天接到一个新的项目,博**迁移项目,我刚刚开始拿到项目一点头绪没有,傻傻的上去自己安装要用nginx,tomcat,mysql,jdk等
安装好了,人家和我说不用了,用原来的快照了一个新的服务器
里面东西我拿到,真的是闷b的,
1、项目不知道是什么
2、需求不是很明确
3、最最重要的,我不懂他们的服务器安全组如何设置的,如何跳转的
有点伤。
刚刚开始我连他们服务器都不知道怎么进,我是小白状态,很闷
几天的渐渐消化,明白其原理
先说博**服务器:
他们是通过 堡垒机————多台业务机
首先要先进入堡垒机,在进入业务机,
堡垒机进入业务机子命令:
ssh ec2-user@10.0.11.00 -i ~/hchealthydaa-validation.pem
这样我就顺利进入业务机
进入业务机子,来说说这个这个安全组和一个url访问大概路程:
流程:
假如你是客服你访问一个 :https://baidu.com/hello--------------------先经过硬件防火墙---------------在是安全组根据安全组规则"/hello"才跳转对应的业务服务器-————在业务服务器你可以配置自己的nginx反射代理或者不配置,通过tomcat也可以做到虚拟路径和端口转换-----------------到你的项目地址
这里主要强调的是什么?
主要强调安全组规则是"/hello",一个人访问这个项目必须要带上"/hello",否则不会跳转到对应业务机,当然你的项目原本没有"/hello"这个接口地址,怎么办两个方法,一个是在nginx配置"/hello"地址,二个是在tomcat配置虚拟路径"/hello",这样也可以达到目的。
说一下当时的感受,不懂瞎搞是我最伤的问题,还学习到一个解决办法,我记得我的技术总监刚刚开始帮我的时候
他是先配置 nginx一个静态页面,但是他先是配置一个虚拟路径,然后在nginx的location里面配置了一个真实绝对路径,
首先内部访问nginx路径:curl -s -I -X GET http://127.0.0.1/hello/hello.html
然后在旁边多加复制一个业务机,负责观察nginx日志,看是否请求到nginx
最后就是通过浏览器访问,看是否有效果,还有nginx有没有收到,如果nginx收到了,但是没显示,有可能是nginx加载,也有可能是你内部没配置好。所以i你就要了解他们的规则。
我总结一下两点,做这种迁移代理的问题:
1.首先确认安全组的规则:比如我的安全规则是要求两点:一点是浏览器必须是https请求,但是https在安全组配置了,不需要内部业务机再次配置(只要求浏览器访问加https就行)这一点要问清楚。
二点规则就是你还要清楚,业务机开启端口是多少,我的项目需要用什么端口监听,比如80或者其他端口,也要问清楚,这样能知道你真正可以用的端口是多少,这不是我们能决定的,需要运维同事配合告诉我们他们配置的安全组规则。
2.就是迁移问题,拿到项目不要慌,首先先让项目跑起来,内部去测试访问一个接口,如果可以访问成功,在按照别人提出的需求进行配置虚拟地址,再次访问,内部成功在尝试外部。
其实经验很重要,每一次配置失败都会让我崩溃一次,尝试很多次无果后,我就会失去耐心,所以说做事要有规划,步步为营,方可取胜,其实学习耐心是其次,兴趣是最好的老师,每次尝试能得到一点效果我都会乐此不疲。每个人学习方式不同,我是比较喜欢那种快速学习方法,但是不扎实,遇到真正的难题反而会被打败。
就说一下这次迁移,真正学习到的是那个思路,没有那个思路我还是会按照自己的方式全部乱配置,最后还是没有收场。