tomcat
tomcat9配置优化及使用jdk11的调整
星期四, 三月 12th, 2020 | JAVA-and-J2EE | 没有评论
把常用调整的部分整理记录了下,方便自己以后翻阅和调整
本人实际tomcat9应用中,只注释了conf/server.xml下ajp的服务,新增了bin下的setenv.sh 的JVM配置及spring外置的配置文件
那些调整数值的根据自行配置调整.
1.系统启用nginx+tomcat配合
2.本文主要优化tomcat的配置项目
配置项参考:http://tomcat.apache.org/tomcat-9.0-doc/config/http.html
2.1 关闭AJP端口及war包的热部署
› Continue reading
Apache Tomcat AJP协议文件读取与包含漏洞的版本升级及关闭AJP功能
星期六, 二月 22nd, 2020 | JAVA-and-J2EE | 没有评论
1.阿里云提醒对应的安全风险:
Apache Tomcat是由Apache软件基金会属下Jakarta项目开发的Servlet容器。默认情况下,Apache Tomcat会开启AJP连接器,方便与其他Web服务器通过AJP协议进行交互。
但Apache Tomcat在AJP协议的实现上存在漏洞,导致攻击者可以通过发送恶意的AJP请求,可以读取或者包含Web应用根目录下的任意文件,如果存在文件上传功能,将可以导致任意代码执行。
漏洞利用AJP服务端口实现攻击,未开启AJP服务对外不受漏洞影响(tomcat默认将AJP服务开启并绑定至0.0.0.0)。
阿里云应急响应中心提醒 Apache Tomcat用户尽快排查AJP端口对外情况并采取安全措施阻止漏洞攻击。
影响版本
Apache Tomcat 6 Apache Tomcat 7 < 7.0.100 Apache Tomcat 8 < 8.5.51 Apache Tomcat 9 < 9.0.31 |
安全版本
Apache Tomcat 7.0.100 Apache Tomcat 8.5.51 Apache Tomcat 9.0.31 |
2.查看了下自己并不需要ajp的功能,最简单的方法只时间注销此项功能即可,同时也可以少监听一个端口
具体操作:
nginx配置ssl后代理tomcat获取不到https
星期五, 二月 14th, 2020 | JAVA-and-J2EE | 没有评论
1.前置使用nginx做了反向代理
2.服务有tomcat提供,在tomcat里有获取getScheme总是http而不是https,需要解决.
遇见的问题如下:
request.getScheme() //总是 http,而不是实际的http或https request.isSecure() //总是false(因为总是http) request.getRemoteAddr() //总是 nginx 请求的 IP,而不是用户的IP request.getRequestURL() //总是 nginx 请求的URL 而不是用户实际请求的 URL response.sendRedirect( 相对url ) //总是重定向到 http 上 (因为认为当前是 http 请求) |
3.解决办法
springboot之使用tomcat部署脚本及环境设置
星期三, 一月 8th, 2020 | JAVA-and-J2EE, linux | 没有评论
1.部署脚本deploy.sh
cp /ia/apps/java/pomelolee-1.0.0-GA.war /usr/local/webserver/apache-tomcat-9/webapps/ROOT.war |
2.启动脚本start.sh
/usr/local/webserver/apache-tomcat-9/bin/startup.sh |
3.关闭脚本shut.sh
/usr/local/webserver/apache-tomcat-9/bin/shutdown.sh |
4.配置指定tomcat容器加载springboot的启动配置文件
在/usr/local/webserver/apache-tomcat-9/bin 文件夹下设置setenv.sh文件指定文件加载配置,toncat启动时 会自动加载此配置
其他jvm的调优配置也都直接配置到此处,方便复用;启用配置中心的部分可以参考激活设置,此处不用做说明.
CATALINA_OPTS="$CATALINA_OPTS -Dspring.config.location=/ia/config/pomelolee/application.properties" |
err_incomplete_chunked_encoding遭遇及修复
星期日, 一月 8th, 2017 | JAVA-and-J2EE | 没有评论
在chrome遭遇 err_incomplete_chunked_encoding 此错误
查看了下 nginx 并没有发现是其的错误
看了tomcat 是 request header is too large 的问题
修复之
1 2 3 4 | <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxHttpHeaderSize="65536" maxPostSize="4194304" URIEncoding="UTF-8"/> |
搞定
踩坑tomcat8.5的cookie机制
星期六, 八月 20th, 2016 | JAVA-and-J2EE | 没有评论
tomcat升级到8.5版本
发现登录和退出报错,报错日志为下
[http-nio-8080-exec-20] 2016 Aug 20 12:04:49 WARN WARN:187 - Handler execution resulted in exception java.lang.IllegalArgumentException: An invalid domain [.i5a6.com] was specified for this cookie at org.apache.tomcat.util.http.Rfc6265CookieProcessor.validateDomain(Rfc6265CookieProcessor.java:181) at org.apache.tomcat.util.http.Rfc6265CookieProcessor.generateHeader(Rfc6265CookieProcessor.java:123) at org.apache.catalina.connector.Response.generateCookieString(Response.java:989) at org.apache.catalina.connector.Response.addCookie(Response.java:937) at org.apache.catalina.connector.ResponseFacade.addCookie(ResponseFacade.java:386) |
网上已有哥们查看了tomcat的源码 总结规则如下:
domain规则如下
1、必须是1-9、a-z、A-Z、. 、- (注意是-不是_)这几个字符组成
2、必须是数字或字母开头 (所以以前的cookie的设置为.i5a6.com 的机制要改为 i5a6.com 即可)
3、必须是数字或字母结尾
解决之法: 升级处理cookie的domain的地方即可 由 (.i5a6.com 的机制要改为 i5a6.com )搞定
apache,nginx反向代理出现内网ip解决方法
星期四, 二月 23rd, 2012 | JAVA-and-J2EE, linux | 没有评论
apache中设置如下反向代理后端的tomcat出现
request.getServerName();获取到的主机名称就会是localhost,解决这个
<VirtualHost *:80> ServerAdmin service@i5a6.com DocumentRoot /usr/local/apache/htdocs ServerName i5a6.com ServerAlias *.i5a6.com DirectoryIndex index.html index.html.var index.jsp ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ ErrorLog "logs/hscode-error.log" CustomLog "logs/hscode-access.log" common </VirtualHost> |
在httpd.conf 文件中增加:
ProxyPreserveHost On 即可
对应的nginx 也有此问题解决之法:
proxy_set_header Host $host;
upstream mytomcat{ #server 127.0.0.1:8000 weight=3; #server 127.0.0.1:8001; #server 127.0.0.1:8002; server 127.0.0.1:8080; } server { listen 80; server_name i5a6.com *.i5a6.com; index index.html index.htm ; root /usr/local/data/htdocs/www; location / { # proxy_set_header Host %host; # proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http://mytomcat; proxy_set_header Host $host; } |
Search
相关文章
热门文章
最新文章
文章分类
- ajax (10)
- algorithm-learn (3)
- Android (6)
- as (3)
- computer (85)
- Database (30)
- disucz (4)
- enterprise (1)
- erlang (2)
- flash (5)
- golang (3)
- html5 (18)
- ios (4)
- JAVA-and-J2EE (186)
- linux (143)
- mac (10)
- movie-music (11)
- pagemaker (36)
- php (50)
- spring-boot (2)
- Synology群晖 (2)
- Uncategorized (6)
- unity (1)
- webgame (15)
- wordpress (33)
- work-other (2)
- 低代码 (1)
- 体味生活 (40)
- 前端 (21)
- 大数据 (8)
- 游戏开发 (9)
- 爱上海 (19)
- 读书 (4)
- 软件 (3)