返回列表 发帖

CentOS6_Nginx基于域名的虚拟主机+反向代理+两个Tomcat

笺注:这是在 CentOS6_安装两个Tomcat 的基础上进行的。


第一个Tomcat使用TCP 8080端口:
[root@localhost ~]# vi /usr/local/tomcat/conf/server.xml
-->
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="utf-8" />


第二个Tomcat使用TCP 8082端口:
[root@localhost ~]# vi /usr/local/tomcat2/conf/server.xml
-->
    <Connector port="8082" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="utf-8" />



在第一个Tomcat的默认站点的根目录下创建测试页:
[root@localhost ~]# vi /usr/local/tomcat/webapps/ROOT/1.jsp
写入:
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>第一个Tomcat</title>
</head>
<body>
    <center>使用TCP 8080端口</center>
</body>
</html>


在第二个Tomcat的默认站点的根目录下创建测试页:
[root@localhost ~]# vi /usr/local/tomcat2/webapps/ROOT/2.jsp
写入:
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>第二个Tomcat</title>
</head>
<body>
<center>使用TCP 8082端口</center>
</body>
</html>



防火墙打开TCP 8080、TCP 8082、TCP 80端口:
iptables -nL
图片1.png



Windows客户端远程测试:

http://192.168.168.135:8080/1.jsp
图片2.png

http://192.168.168.135:8082/2.jsp
图片3.png












############
############

Nginx反向代理:客户端先访问Nginx,通过Nginx的反向代理,再访问到Tomcat。


Nginx和Nginx版网站安全狗的安装可参考:Oracle Linux6安装服务器安全狗、Nginx版网站安全狗
备注:Linux系统下,网站安全狗有Nginx版,但没有Tomcat版。


查看Nginx的版本:
[root@localhost ~]# nginx -v
safedog-nginx-waf version/2.4
developed by www.safedog.cn

nginx version: nginx/1.10.2


Nginx使用TCP 80端口:
[root@localhost ~]# netstat -anp |grep nginx
tcp  0  0 0.0.0.0:80  0.0.0.0:*  LISTEN  14096/nginx         
unix  3      [ ]         STREAM     CONNECTED     89381  14096/nginx         
unix  3      [ ]         STREAM     CONNECTED     89380  14096/nginx



Nginx配置基于域名的虚拟主机:

先找到Nginx的主配置文件:
[root@localhost ~]# find / -name "nginx.conf"
/usr/local/nginx/conf/nginx.conf

[root@localhost ~]# vi /usr/local/nginx/conf/nginx.conf
在文件最后那个大括号 } 上面插入以下一行代码:
include vhost/*.conf;
图片4.png
注释:Nginx会加载/usr/local/nginx/conf/vhost/下后缀为.conf的配置文件(即虚拟主机的配置文件)


创建存放虚拟主机配置文件的目录:
[root@localhost ~]# mkdir -p /usr/local/nginx/conf/vhost


创建第一台虚拟主机(bbs.zhuohua.store)的配置文件:
[root@localhost ~]# vi /usr/local/nginx/conf/vhost/bbs.zhuohua.store.conf
写入:
server
    {
        listen 80;
        server_name bbs.zhuohua.store;
        index index.html index.htm;
        root  /wwwroot/bbs.zhuohua.store;

        location / {
            proxy_pass   http://127.0.0.1:8080;
        }

        access_log off;
    }
注释:把对本机站点bbs.zhuohua.store的访问反向代理到本机的TCP 8080端口。


######

创建第二台虚拟主机(word.zhuohua.store)的配置文件:
[root@localhost ~]# vi /usr/local/nginx/conf/vhost/word.zhuohua.store.conf
写入:
server
    {
        listen 80;
        server_name word.zhuohua.store;
        index index.html index.htm;
        root  /wwwroot/word.zhuohua.store;

        location / {
            proxy_pass   http://127.0.0.1:8082;
        }

        access_log off;
}
注释:把对本机站点word.zhuohua.store的访问反向代理到本机的TCP 8082端口。


重启Nginx服务:
[root@localhost ~]# service nginx restart



现在防火墙只需要打开TCP 80端口,不需要打开TCP 8080、 TCP 8082端口了:
sed -i '/8080/d' /etc/sysconfig/iptables
sed -i '/8082/d' /etc/sysconfig/iptables
service iptables restart

再次查看防火墙的filter表的规则:
iptables -nL
图片5.png



######

Window客户端远程访问:

在没有DNS服务器解析域名的情况下,可以在文件hosts里绑定:
C:\WINDOWS\system32\drivers\etc\hosts
图片6.png

记得设置文件hosts的权限:
图片7.png


Window客户端远程访问的效果:

http://bbs.zhuohua.store/
图片8.png

http://bbs.zhuohua.store/1.jsp
图片9.png


http://word.zhuohua.store/
图片10.png

http://word.zhuohua.store/2.jsp
图片11.png












############
############

测试Nginx版网站安全狗的漏洞防护功能:(要设置为 记录并拦截 )

相关的配置文件:
[root@localhost ~]# cd /etc/safedog/nginx/conf/
[root@localhost conf]# cat WPCDefSql.conf
[SqlAttack]
ChkFullUrl=1
ChkSqlAttackStatus=1
ChkUrlLenStatus=1
Count=0
MaxUrlLen=2048
NeedSendInterceptPage=1  #记录并拦截;默认是0,记录不拦截
NeedSendInterceptPageSQLAttack=0
SendAlert=1
UpdateUrl=http://www.safedog.cn/upload/configFile/sqlRule.dat
WhitePathCount=0

注释:可以直接在配置文件中修改,自动生效的。



Windows客户端远程测试:

http://192.168.168.135/?order%20by
图片12.png

http://bbs.zhuohua.store/?order%20by
图片13.png

http://word.zhuohua.store/?order%20by
图片14.png


结论:
Nginx做了反向代理后,Nginx版网站安全狗可以保护本机。





相关文章:
Nginx基于域名的虚拟主机/域名重定向/访问控制/防盗链/SSL
CentOS6_Nginx反向代理+Nginx版网站安全狗+Tomcat+JDK+SSL






#################################
#################################
亲,学习研究也要劳逸结合哦,来我微店逛逛,买点东西好好犒劳犒劳自己和家人吧^_^^_^

正品飞科电动剃须刀FS868全身水洗充电式男士电动胡须刮胡刀
bai.png

飞科剃须刀正品FS370电动递刮胡刀男士充电式剃须刀胡须刀剃须刀
dan.png

飞科正品男士电动剃须刀FS876充电式刮胡刀即插即用刮胡剃须刀
shuang.png

返回列表