一种部署的组网

最近出差,验证我们应用的云部署。感觉这个网络环境挺复杂的,特别我网络知识这么差,感觉很有压力,画出来记录一下



最下面是数据库,其实有2台组成了RAC。不过这个不重要,所以只画了一台机器示意。由于这次时间仓促,还没搞定怎么在虚拟机上装RAC,所以数据库还是装在pc server上的,没有在云上部署。pc server放在机房里,IP是 127.x.x.x,一个内网IP

上面的3台app1、app2、httpd都部署在虚拟机上。虚拟机是云中心提供的,有一组同网段的内网IP: 10.121.x.x,所以相互之间是通的,但是跟数据库不通。所以特别要求云中心又给每台虚拟机多开了一个网口,也在操作系统里配置成 127.x.x.x,跟数据库在一个网段里,这样就通了

app1和app2都没有绑定公网的IP,限制internet直接访问。httpd绑定了一个公网IP: 232.x.x.x,起一个proxy的作用。在互联网上可以用这个公网IP请求httpd,httpd会把请求转发给app1和app2

测试的时候发现,直接访问http://232.x.x.x/是可以的,能看到httpd的success页面:it works

但是后面加上应用的路径,http://232.x.x.x/app1,就不行了

后来用fiddler2工具抓包看了下,请求已经由httpd转发到app1了,但是我们的应用搞了一个SSO,app1返回一个跳转路径到浏览器,要求浏览器到app2上鉴权

问题是安装的时候,SSO跳转的IP配错了,浏览器实际上跳转到http://127.x.x.x/app2/sso,所以肯定是访问不了的,实际上这里应该把SSO的IP配置成proxy的公网IP,浏览器就会跳转到http://232.x.x.x/app2/sso去,这样应该就行了

时间紧迫,来不及重新装了,直接改配置文件又怕改出问题(配置文件很分散,有些还会写到数据库表里,担心改不全)。所以就在数据库服务器连的那台交换机上面,又拉出一根网线,人带着笔记本到机房里,直接就在机房里测试

总结:

1、数据库没有部署到云上,造成db server的IP和虚拟机的IP不在同一网段,没法直接连通,被迫在虚拟机上增加网口,多了一组IP,变得比较复杂。后续要想办法把oracle rac也部署到虚拟机上,就可以省掉这一步了

2、只需要一台虚拟机绑定公网IP就可以了(这里是httpd那一台),可以用这台虚拟机做跳板,从公网管理虚拟机群组。不需要每台虚拟机都绑定公网IP

3、在公网放一台proxy(httpd或者nginx等),其他的应用和DB都放在内网,这种方式挺好的,比较安全,浏览器入口也一致

4、网络知识太薄弱了,要好好学习,不懂部署的开发不是好SE。已经买了一本书,貌似挺好的: http://product.china-pub.com/199040

希望懂网络的朋友能指导一下,给点意见

猜你喜欢

转载自kyfxbl.iteye.com/blog/1900324