一般的web服务器(Nginx)或者应用服务器(Tomcat)的默认请求,都是有默认超时设置的(一般默认60秒),超过这个时间我们的代码没有返回结果,用户端就会收到报错:504 GatewayTimeout, Tomcat应用服务器里,也可能收到ClientAbortException(Borken Pipe)等错误。 有时候确实有一些请求比较耗时(例如生成统计报表等),在1分钟内还没有处理好,程序或者nginx那边就报错了,所以有时候需要为Nginx或者Tomcat修改默认超时设置。 nginx设置超时的设置是(…

2021-05-28 0条评论 34点热度 0人点赞 admin 阅读全文

Nginx转发给Tomcat的时候,发现一个问题,有一个名字叫User_Token的Header在Tomcat里始终获取不到,去掉nginx,直接让Tomcat接前端,就可以获取到这个Header 所以问题就应该出在Nginx这边,再仔细debug发现,如果把名字换成User-Token就可以了,所以就应该是这个User_Token下划线的问题。 经过搜索,在nginx里有一个配置,叫: 这个默认值是off,就是带下划线的Header是不被认可的,我们只要在server下把这个值打开就可以了: server { #…

2021-05-22 0条评论 42点热度 0人点赞 admin 阅读全文

装好nginx或者tomcat后,Java应用(Nginx是通过proxy来调用Tomcat应用的)如果POST比较大的数据,会报错 所以需要对Tomcat和Nginx进行一些参数调整 找到tomcat目录下的/conf/server.xml,修改配置文件,找到Connector,添加maxPostSize参数 我这里设置的是-1,表示不做大小限制(因为我这边上层还有nginx,只需要在nginx设置好就可以了)。 不设置maxPostSize参数意为使用默认的大小,默认2097152,单位是bytes,即为209…

2021-05-20 0条评论 38点热度 0人点赞 admin 阅读全文

今天Tomcat上的一个API接口(是返回较大的图片,流量较大)客户端请求报错,如下错误: org.apache.catalina.connector.ClientAbortException: java.io.IOException: Connection reset by peer Caused by: java.io.IOException: Connection reset by peer 经检查程序上没有任何问题,重启tomcat也无法解决,发现是Tomcat前端套用的Nginx默认有关proxy buf…

2021-04-27 0条评论 75点热度 0人点赞 admin 阅读全文

用nginx做站的时候,经常遇到一些跳转需求,比如 根据子域名不同跳转至其他网站 如果用户打了IP或者example.com要跳转至www.example.com 启用了https以后,需要将原来整站http跳转至https 网站临时维护,需要暂时把网站跳转到临时维护页面,详情看我之前的博客:https://blog.terrynow.com/2021/01/01/nginx-setup-maintain-page/ server { listen 80; server_name mail.example.com;…

2021-03-27 0条评论 128点热度 0人点赞 admin 阅读全文

如果你的Web服务器有流量限制,或者流量是要收费的,那么可能要需要加一层简单的DDOS防护,如果专门购买DDOS防护产品,那么成本也是挺高的。nginx下只要稍加配置,就可以初步实现了。 如果要设置每日、每月流量上线,请查看 https://blog.terrynow.com/2021/06/06/linux-server-iptables-set-daily-or-monthly-qutoa/ Nginx可以通过、、来实现 limit_req 限制每秒请求数 配置举例: limit_req可以放在server下,…

2021-03-19 0条评论 179点热度 1人点赞 admin 阅读全文

有时候,我们用Nginx搭建的网站,不想让所有用户访问,就可以设置访问密码验证,只要输入正确用户名和密码才能访问,如图: nginx是通过这个模块来实现用户名密码保护(basic_auth)的,一般来说安装好的nginx都自带这个模块的。 首先,我们需要生成可以访问的用户名和密码,并保存到文件中。Linux下用到的是 如果你的服务器上没有,请先安装htpasswd(可以使用which htpasswd看是否安装过) CentOS等服务器,请用 yum  -y install httpd-tools Ubuntu等服…

2021-03-10 0条评论 170点热度 0人点赞 admin 阅读全文

之前web应用程序代码里用到HttpServletRequest.getScheme()得到的是http,但是启用了nginx的SSL后,确得到的不是https 如何配置Nginx和Tomcat整合,请看:https://blog.terrynow.com/2021/02/13/linux-nginx-tomcat-config-load-balance/ 如何在nginx启用SSL,请看:https://blog.terrynow.com/2021/02/15/nginx-https-ssl-config/ 下面…

2021-02-21 0条评论 67点热度 0人点赞 admin 阅读全文

Nginx默认不不显示文件、文件夹的目录列表的,有时候,我们需要对某个文件夹显示目录列表,只需要进行如下配置,就可以轻松实现了。 比如我们要对服务器的/opt/soft开启文件目录浏览列表,如图所示: 配置如下(在server下面修改) # 访问路径为 https://www.example.com/soft # 如果要全站启用,就在location / {}下面加autoindex on; location ^~ /soft { # 这样就会显示/opt/soft下的文件目录 root /opt; # 最主要的是…

2021-02-19 0条评论 89点热度 0人点赞 admin 阅读全文

现在的大部分网站都启用了SSL加密(https),不加密的网站甚至被浏览器标记为『不安全』,所以有必要为我们的网站启用https加密,申请SSL证书的成本也很低(Let's Encrypt是免费的) 如何申请免费Let's Encrypt证书,详见我的另一篇博客:https://blog.terrynow.com/2021/02/14/acme-retrive-letsencrpt-https-ssl-cert-and-auto-renew/ 如何安装Nginx,详见我的另一篇博客:https://blog.ter…

2021-02-15 0条评论 112点热度 0人点赞 admin 阅读全文
12