虚拟化容器,大数据,DBA,中间件,监控。

nginx1.16.1+tomcat7部署,获取前端真实IP信息

24 09月
作者:admin|分类:应用管理


nginx与tomcat使用同一台主机,nginx服务使用80端口,转发数据到后端tomcat 8080端口。

先安装nginx软件。

下载 ngx_cache_purge_2.3源码包,并解压到当前目录。

[root@lnmp soft]# wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz

[root@lnmp soft]# tar zxvf ngx_cache_purge-2.3.tar.gz 

 解压LuNamp包自带的zlib源码到当前目录。

[root@lnmp soft]# tar zxvf zlib-1.2.5.tar.gz 

现在可以下载nginx-1.16.1最新软件包了。

[root@lnmp soft]#  wget http://mirrors.sohu.com/nginx/nginx-1.16.1.tar.gz

然后解压源包,这里就不写了。

当然还需要安装perl相关依赖包。

[root@lnmp soft]# yum install perl-devel perl-ExtUtils-Embed perl zlib zlib-devel

源码包编译安装,还是像上面的一样,把几个软件包解压后,执行编译命令,

[root@lnmp soft]#  ./configure --prefix=/usr/local/nginx --with-pcre=../pcre-8.43 --with-openssl=../openssl-1.1.1d --add-module=../ngx_cache_purge-2.3 --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module

[root@lnmp soft]#  make 

[root@lnmp soft]#  make install


现在可以修改tomcat 配置文件了

nginx 修改配置信息将80端口转换成tomcat的8080端口。
        location / {
          proxy_pass http://192.168.137.13:8080;
          proxy_redirect off;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }


可以启动nginx程序了,别的配置不用修改。

/usr/local/nginx/sbin/nginx -t        //检查当前配置是否正确
/usr/local/nginx/sbin/nginx -s reload    //重新加载配置


然后安装tomcat7,直接下载官网软件,解压后运行就行,不再说了。


    如何设置负载均衡后的Tomcat能获取用户真实IP了?
    编辑 tomcat/conf/server.xml文件

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t %r %s %b" />

前面有负载均衡的时候,获取真实IP可以使用下面的配置
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%{X-Forwarded-For}i %h %l %u %t %r %s %b" /


启动tomcat后,分别访问nginx的80端口与tomcat的8080端口,查看tomcat的访问日志,

就会发现日志中的IP会不一样。


浏览927 评论0
返回
目录
返回
首页
云主机通过debian-installer远程dd安装Windows Apache httpd缓冲区溢出漏洞(CNVD-2019-33835)