日期:2014-05-17 浏览次数:20822 次
这是一个通用的Web即B/S工程的架构,它由:
ü Web Server
ü App Server
ü DB Server
三大部分组成,其中:
2 Web Server
置于企业防火墙外,这个防火墙,大家可以认为是一个CISCO路由器,然后在CISCO路由器上开放了两个端口为:80和443。
80端口:用于正常的http访问
443端口:用于https访问,即如果你在ie里打入https://xxx.xxx.xx这样的地址,默认
走的是443这个端口。
WebServer专门:
用于解析HTML、JS(JavaScript)、CSS、JPG/GIF等图片格式文件、TXT、
VBSCRIPT、PHP等一切一切“静态”网页内容。
2 App Server
置于企业防火墙内,它和Web Server之间的连接必须且一定为内部IP连接。
外部IP:即Internet IP地址,我们的web服务器一般会有一个内部IP一个外部IP,因此在这里,我们的App Server没有任何外部IP,只有内部IP,所以我在这边说App Server与Web Server只能以内部IP形式连接。
打比方说我们用的是tomcat,它的端口为8080,那么这个ip地址上的8080端口只能由任何内部ip才能访问,外部的internet是访问不了的,这样做就是为了安全。
App Server用于解析我们的任何需要Java编译器才能解析的“动态”网页,其实App Server本身也能解析任何静态网页的。
那么我们这样来想一下:
我们让负责专门解析静态网页的Web Server来解析html等内容,而让App Server专门用于解析任何需要Java编译器才能解析的东西,让它们“两人”各司其职。这样作的好处:
1) 为App Server“减压”,同时也提高了performance
2) 不用再把8080这个端口暴露在internet上了,也很安全,必经我们的app server上可是有我们的代码的,就算是编译过的代码也容易被“反编译”,这是很不安全的。
3) 为将来的进一步的“集群扩展”打好了基础
2 DB Server
打比方说我们用的是Oracle,它需要通过1521与App Server进行连接是不是?那么这个1521我们称为数据库连接端口,如果把它暴露在Internet上,是不是在危险了点?就算我们的密码很复杂,但对于高明的黑客来说,要攻破你的口令也只是时间上的问题而己。
因此我们把我们的DB Server也和App Server一样,置于内网的防火墙。任何的DB连接与管理只能通过内网即在公司企业内部来访问,就是这个道理。
DB(Oracle)我已经为大家准备好了,连接信息为:
IP: |
10.225.10x.xx |
Port: |
1521 |
Username/Password: |
xxx/xxx |
Sid: |
Jcoedb1 |
url: |
jdbc:oracle:thin:@10.225.10x.xx:1521:xxx |
所以,根据上述的架构,我们可以把如下这样的一份清单丢给NSS或者是相关的网络管理部门,让他们给我们开通相应的端口:
Web Server |
对外IP: xxx.xxx.xxx.xxx 向internet开通80与443端口 |
App Server |
对内IP: 10.225.xxx.xxx 只对10.225.段的ip开放8080,8009等端口, |
Db Server |
对内IP: 10.225.xxx.xxx 只对10.225.段的ip开放1521端口 |
直接解压tomcat至你的本地如:d:\tomcat,我这边用的目录名叫tomcat2,大家随意,最好名字能够越简单越好d:\tomcat或者c:\tomcat就行,不要放得太“深”。
我们在这边将安装Apache For Win 2.2.x,它将占用你机器的80和443端口。因此如果你机器上有任何程序占用你的80和443端口,必须将它关闭掉,比如说:
我们装有微软的IIS,这本身也是一个WebServer,那么请你将它关闭:
ControlPanel->Administrative Tools->Service,找到IISAdmin和,将它全部关闭并将启动方式设为