Nginx返回带自定义错误信息的403响应(不使用错误页面)时浏览器无内容显示的问题解决
Nginx返回带自定义错误信息的403响应(不使用错误页面)时浏览器无内容显示的问题解决
嘿,这个问题我碰到过,其实原因很简单——浏览器需要明确的Content-Type响应头才能正确渲染你返回的文本内容。curl这类工具对响应头没那么挑剔,但浏览器会因为缺少这个关键头信息,不知道该怎么处理返回的字符串,所以就啥都不显示啦。
只需要在return指令里补上对应的Content-Type配置就行,修改后的Nginx配置如下:
server { listen 0.0.0.0:9999; server_name _; return 403 "My custom error message" content_type text/plain; }
要是你想返回HTML格式的自定义消息,也可以把text/plain换成text/html,比如这样:
server { listen 0.0.0.0:9999; server_name _; return 403 "<h1>My custom error message</h1>" content_type text/html; }
这样修改后,浏览器就能识别返回内容的类型,正常显示你的自定义错误消息了。
备注:内容来源于stack exchange,提问作者pete19
相关产品推荐
相关产品推荐

