需求1.用两个tomcat实例实现tomcat集群,nginx实现请求分发
2.前端html防止js注入
集群实现:
网络拓扑图如上所示,用户发送请求,通过nginx负载策略将请求打到A,B其中一台服务器上进行相应的业务逻辑操作。本实验采用nginx与tomcatA部署在计算机A上,tomcatB部署在计算机B上,测试是通过A端请求,分别会通过nginx轮询打到A或B计算机上.
1.测试A和B网络通信
通过ipconfig查询A和B的本地ipv4地址
使用ping命令测试两台计算机的通信是否ok
2.部署程序到A和B两台计算上
3.配置nginx:
nginx负载策略延申:
轮询:默认方式,不考虑服务器的处理能力(本实验)
权重:加weight,考虑了每台服务器的处理能力,注意weight是个统计概率
ip hash:不一定平均,能实现同一个用户访问同一台服务器,不适用ip频繁的场景
url hash:能实现同一个服务访问同一个服务器,需要安装插件
修改计算机A系统host文件,将127.0.0.1映射成www.kk.com
127.0.0.1 www.kk.com
修改配置文件nginx.conf 文件,为了配置文件的可扩展性
include vhost/*.conf;
同级目录创建vhost目录,并创建以.conf结尾的文件www.kk.com.conf
upstream www.kk.com{
server 127.0.0.1:8080;
server 192.168.2.235:8080;
}
server {
listen 80;
autoindex on;
server_name www.kk.com;
access_log c:/access.log combined;
index index.html index.htm index.jsp index.php;
#error_page 404 /404.html;
if ( $query_string ~* ".*[\;'\<\>].*" )
{
return 404;
}
location / {
proxy_pass http://www.kk.com;
}
}
使用命令nginx.exe 启动nginx,如果修改了配置文件,需使用nginx.exe -s reload 重新加载配置文件
4.启动nginx,启动A,B计算机的tomcat:
从计算机A端测试输入域名www.kk.com, 为了区分在两个服务器的程序前端加入了"计算机A""计算机B"加以区分
前端html防止js注入:
使用命令更改用户名,会发现弹出alert 弹框.
问题定位:.html()会将所读出的数据解析为js,所以应使用,text()将html的文件转义,即可实现用户输入什么内容显示什么内容