在安装完以nginx+tomcat的WEB服务器,使用默认的配置,会导致服务器上的日志文件,只有nginx日志能获取到客户的真实IP,而tomcat以及上面的JAVA WEB应用均不能正常获取到真正的IP地址,而仅是LOOP(回还地址127.0.0.1,或者0.0.0.0.0.0.1),会导致存入到数据库的也是如此,通过以下配置,即可以改善结果。
nginx端配置文件/etc/nginx/conf.d/default.conf
server { listen 80; server_name localhost; location /{ rewrite ^/web(.*)$ /$1 last; proxy_pass http://localhost:8080/web/; proxy_cookie_path /web /; #以下三个proxy_set_header配置项是重点 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
tomcat日志配置文件$CATALINA_HOME/conf/server.xml
在host中,修改以下内容
<valve classname="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%{X-Real-IP}i %l %u %t %D "></valve>其中X-Real-IP与NGINX中配置的要对应,此变量即是客户的真实IP,pattern的其它参数,请参考官方:http://tomcat.apache.org/tomcat-7.0-doc/config/valve.html#Access_Logging
添加以下valve
<valve classname="org.apache.catalina.valves.RemoteIpValve" internalproxies="127\.0\.0\.1" remoteipheader="x-forwarded-for" remoteipproxiesheader="x-forwarded-by" trustedproxies="127\.0\.0\.1"></valve>
以上就介绍了 nginx前端,tomcat后端服务器获取客户的真实IP,包括tomcat访问日志获取真实IP的配置,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Springboot内置tomcat禁止不安全HTTP方法1、在tomcat的web.xml中可以配置如下内容让tomcat禁止不安全的HTTP方法/*PUTDELETEHEADOPTIONSTRACEBASIC2、Springboot使用内置tomcat没有web.xml配置文件,可以通过以下配置进行,简单来说就是要注入到Spring容器中@ConfigurationpublicclassTomcatConfig{@BeanpublicEmbeddedServletContainerFacto

nginx是一个高性能的http服务器/反向代理服务器及电子邮件(imap/pop3)代理服务器。其占有内存少,并发能力强,在同类型的网页服务器中表现较好。nginx可以在大多数unixlinuxos上编译运行,并有windows移植版。一般情况下,对于新建站点,建议使用最新稳定版作为生产版本。单个tomcat最大支持在线访问是500左右,要通知支持更多的访问量一个tomcat就没法做到了。在这里我们采用集群部署方式,使用多个tomcat,反向代理使用nginx。架构如下:准备工作apache-

1.Nginx和tomcat的区别nginx常用做静态内容服务和代理服务器,直接外来请求转发给后面的应用服务器(tomcat,Django等),tomcat更多用来做一个应用容器,让javawebapp泡在里面的东西。严格意义上来讲,Apache和nginx应该叫做HTTPServer,而tomcat是一个ApplicationServer是一个Servlet/JSO应用的容器。客户端通过HTTPServer访问服务器上存储的资源(HTML文件,图片文件等),HTTPServer是中只是把服务器

首先,安装两个tomcat,可以是同一个复制成两个,也可以下载两个不同版本的tomcat,我就是下载了两个不同版本的。(这是8.0版本的,随便找两个不是特别老的版本的就行)。然后启动两个tomcat,在启动前,先更改其中一个的端口号,使得两个tomcat启动时不会端口冲突,一个是本身的8080端口,一个是改成了9080端口。配好以后,打开cmd命令窗口,我的tomcat一个放在d:\software\apache-tomcat-8.5.24目录下,按照如下命令即可启动,启动成功会弹出另一个窗口,

第一步:配置与系统一致的jdk环境变量(32位/64位)(1)官网下载jdk安装包:官网下载地址:根据自己的操作系统选择对应的安装包(一定要选择接受许可协议)(2)安装jdk:安装jdk选择安装目录安装过程中会出现两次安装提示。第一次是安装jdk,第二次是安装jre。建议两个都安装在同一个java文件夹中的不同文件夹中。(不能都安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错)安装完成如下图所示(3)配置环境变量安装完jdk后配置环境变量计算机→属性→高级系统设置→高级→环境

发现并发容器问题对单接口进行6000线程压测,每个线程请求5次,线程在5秒内创建完毕,当进行一半的时候,已经出现了请求响应时间过大及其错误率达到了43%。这个并发容量对于配置比较好点的服务器相对来说有点弱。深入SpringBoot底层了解原因在SpringBoot官方文档中提到了关于元数据的配置可以看到,关于我们最常用的设置项目的端口的默认配置就在其中。默认内嵌Tomcat配置1、server.tomcat.accept-count:等待队列长度,当可分配的线程数全部用完之后,后续的请求将进入等

事情经过近期做一个项目投标演示(POC)环境支持,需要集成Nacos服务端。考虑到现有项目中已经有了Nacos相关依赖,那还不简单?新建个服务端,配置几下重启不就搞定了吗?然而事情远没有想得这么简单。同样的代码在我本地IDE里运行就能注册成功,在演示环境Tomcat+War部署就不行了。经过远程Debug代码,发现Nacos客户端的线程都有启动,却没有注册成功。思路想到可能与Tomcat部署模式有关系,就去查了官方issue和StackOverFlowTheeventispublishedasp

linux查看tomcat运行状态的方法:1、通过cd进入tomcat的bin目录下;2、执行“ps -ef|grep java”命令将进程显示出来;3、通过“tail -f catalina.out”命令实时查看tomcat运行日志即可。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음
