秀米云香港服务器

今天偶然访问了一个线上应用不存在的url,应用报错,出现了乱码。

乱码是从nginx转发的tomcat报出来的。tomcat默认处理HTML是以ISO-8859-1处理的,所以就产生了乱码。

序列号 CPU RAM HDD 带宽 售价(美元) 免费试用
香港服务器1 E5-2620 32G 1T HDD 50M/无限流量 $196.00 立即申请
香港服务器2 E5-2650 32G 1T HDD 50M/无限流量 $256.00 立即申请
香港服务器3 E5-2680 32G 1T HDD 50M/无限流量 $316.00 立即申请
香港服务器4 E5-2690 32G 1T HDD 50M/无限流量 $336.00 立即申请
香港服务器5 E5-2697 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器6 E5-2620*2 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器7 E5-2650*2 32G 1T HDD 50M/无限流量 $436.00 立即申请
香港服务器8 E5-2680*2 32G 1T HDD 50M/无限流量 $476.00 立即申请
香港服务器9 E5-2690*2 32G 1T HDD 50M/无限流量 $556.00 立即申请
香港服务器10 E5-2697*2 32G 1T HDD 50M/无限流量 $596.00 立即申请
香港服务器11 E5-2680v4*2 32G 1T HDD 50M/无限流量 $696.00 立即申请
香港服务器12 E5-2698v4*2 32G 1T HDD 50M/无限流量 $796.00 立即申请

解决这个error_page的途径我尝试了两种方法:

1、让tomcat返回正常的非乱码的error_page

tomcat的错误页是在项目的web.xml中配置的,但是除了这个之外,别无其它编码配置。在网上搜索了有人提现将.html这种页面也交由jspservlet处理就好,我认为这种方式不好,所以直接没尝试。

我配置的web.xml如下:

500/error.html

那么首先想到的就是把error.html页的返回头改掉:

但是改后,不幸的是还是不行!

tomcat还是把它处理成ISO-8859-1了。杯具!

2、第二种途径是不管tomcat返回的错误页,直接使用nginx的错误页

这里要注意一件事就是一定要配置nginx这个选项:proxy_intercept_errors on;

这个选项默认在nginx是off的。

所以这时候你配置的所有error_page错误页都不会生效。为此我查了好久才知道是这个原因。

我的配置:

location/{proxy_set_headerHost$host;proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-Proto$scheme;proxy_set_headerX-Forwarded-For$remote_addr;proxy_passhttp://127.0.0.1:8080;proxy_intercept_errorson;}

标题:Nginx error_page配置指令

地址: https://www.yunhk.xyz/26356.html