优化tomcat和nginx的部分问题

一:对于tomcat问题

  1. 错误页面配置测试[/conf/web.xml]文件内容,判断错误页重定向配置.期望:配置了403,404,500,java.lang.NullPointerException的错误重定向

解决方案:由于我们的系统只有静态页面,所以错误页面配置在tomcat里面,如果有动态Web工程,可以配置的动态Web工程里面,配置如下:去tomcat的conf目录找到web.xml文件,在文件中<web-app>标签中添加

<error-page>

<error-code>403</error-code>

<location>/WEB-INF/403.html</location>

</error-page>

<error-page>  

 <error-code>404</error-code>  

 <location>/WEB-INF/404.html</location>  

</error-page>

<error-page>

<error-code>500</error-code>

<location>/WEB-INF/500.html</location>

</error-page>

由于我这里配置的是到WEB-INF目录下面寻找错误页面,所以然后到\webapps\ROOT\WEB-INF下面添加对应的错误页面文件

  1. 系统Banner信息

问题:测试[/lib/catalina.jar ServerInfo.properties]文件内容,判断Banner信息.期望:server.info,server.number的值均为X测试[/server/lib/catalina.jar ServerInfo.properties]文件内容,判断Banner信息(Tomcat5.5).期望:server.info,server.number的值均为X

解决方案:找到tomcat的lib目录中的catalina.jar,使用压缩软件打开此jar包,找到\org\apache\catalina\util目录下的ServerInfo.properties文件,将文件中server.infoserver.number的值都修改为X,如:server.info=X     server.number=X   ,此处相当于隐藏了tomcat的版本号。

二:nginx相关问题

  1. 启用日志功能

问题:测试[nginx.conf]文件内容,error_log日志配置.期望:正则表达式匹配 ^\s*error_log[^\n]*$测试[nginx.conf]文件内容,access_log日志配置.期望:正则表达式匹配 ^\s*access_log[^\n]*$

解决方案:在nginx.conf文件中添加

error_log logs/error_log.log error;

error_log logs/error_log.log warn;

error_log logs/error_log.log crit;

log_format  main '$remote_addr - $remote_user [$time_local] '

                     'fwf[$http_x_forwarded_for] tip[$http_true_client_ip] '

                     '$upstream_addr $upstream_response_time $request_time '

                     '$http_host $request '

                     '"$status" $body_bytes_sent "$http_referer" '

                     '"$http_accept_language" "$http_user_agent" ';

 

access_log  logs/access_log.log  main;

  1. 控制超时时间

问题:测试[nginx.conf]文件内容,client_header_timeout值.期望:正则表达式匹配 ^\s*client_header_timeout[^\n]*$测试[nginx.conf]文件内容,client_body_timeout值.期望:正则表达式匹配 ^\s*client_body_timeout[^\n]*$测试[nginx.conf]文件内容,keepalive_timeout值.期望:正则表达式匹配 ^\s*keepalive_timeout[^\n]*$测试[nginx.conf]文件内容,send_timeout值.期望:正则表达式匹配 ^\s*send_timeout[^\n]*$

解决方案:在nginx.conf文件中添加

client_header_timeout 60;

client_body_timeout 60;

    keepalive_timeout  65;

send_timeout 60;

  1. 自定义错误信息

问题:测试[nginx.conf]文件内容,是否设置error_page 400.期望:正则表达式匹配 ^\s*error_page[\s\d]*400测试[nginx.conf]文件内容,是否设置error_page 502.期望:正则表达式匹配 ^\s*error_page[\s\d]*502测试[nginx.conf]文件内容,是否设置error_page 404.期望:正则表达式匹配 ^\s*error_page[\s\d]*404测试[nginx.conf]文件内容,是否设置error_page 413.期望:正则表达式匹配 ^\s*error_page[\s\d]*413测试[nginx.conf]文件内容,是否设置error_page 504.期望:正则表达式匹配 ^\s*error_page[\s\d]*504

解决方案:nginx默认fastcgi_intercept_errors为关闭状态,一次需要在http{}里面添加fastcgi_intercept_errors on;然后在server{}里面添加

error_page  400              /400.html;

error_page  404              /404.html;

error_page  413              /413.html;

最后将这些异常页面放入nginx/html目录下面

  1. 隐藏nginx服务信息头

问题:测试[nginx.conf]文件内容,是否设置server_tokens off.期望:正则表达式匹配 ^\s*server_tokens\s*off[^\n]$

解决方案:在nginx.conf文件中的http{}里面添加server_tokens off;#隐藏版本号

  1. 下载限制并发和速度

问题:测试[nginx.conf]文件内容,是否设置limit_conn和limit_rate.期望:所有的location都能匹配正则表达式 ^\s*limit_conn[^\n]*$和^\s*limit_rate[^\n]*$

解决方案:在ngin.conf文件中的http{}里面添加

#限制同一客户端ip地址

limit_conn_zone $binary_remote_addr zone=perip:10m;

#限制同一server最大并发数

limit_conn_zone $server_name zone=perserver:10m;

在servcer{}里面添加

#下载限速

limit_rate   1024k;

#每个IP使用10个连接

limit_conn perip 10;

#限制与服务器的总连接数

limit_conn perserver 100;

  1. 限制IP访问

问题:测试[nginx.conf]文件内容,IP限制配置.期望:所有的location都存在正则表达式匹配 ^\s*(deny|allow)\s*\S*[^\n]*$

解决方案:在nginx.conf文件中的server{}里面添加

#禁止该ip访问,此处ip并非是真实的自己本机电脑ip

#可在nginx日志处查看 access_log.log实际ip

deny 192.168.123.1;

#允许所有的ip访问

allow all;

当启动或者关闭nginx的时候出现异常:nginx: [error] open() "/home/app/application/nginxs/logs/nginx.pid" failed (2: No such file or directory)

首先kill掉nginx进程,然后使用/home/app/application/nginxs/sbin/nginx -c /home/app/application/nginxs/conf/nginx.conf命令。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值