一次悲催的nginx转发白屏经历

背景

公司还有一个学习平台,由于公网地址问题,所以想用nginx转发一下,首先后端地址访问时没有问题的,一切正常。

用nginx转发后,访问nginx代理地址悲催了,出现了白屏。

排查过程

首先贴出来我的nginx配置:

server {
    listen 9005;
    port_in_redirect off;
    index index.jsp index.html;

    location / {
                proxy_pass              http://111.111.111.111:9005;
                proxy_buffers           256 16k;
                proxy_redirect          off;
                proxy_set_header        Host $host;
                proxy_set_header        X-Real-IP $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header        REMOTE-HOST $remote_addr;
                client_max_body_size    300m;
                client_body_buffer_size 128k;
                proxy_connect_timeout   5;
                proxy_send_timeout      600;
                proxy_read_timeout      600;
                proxy_buffer_size       16k;
                proxy_busy_buffers_size 128k;
                proxy_temp_file_write_size 64k;
                proxy_next_upstream  http_404;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

查看nginx报错日志:

ginx代理后的默认http版本是1.0.、如果原始请求是长连接或者分块传递,需要加上http1.1的参数,

nginx的location模块里面加上proxy_http_version 1.1估计可以了

添加如下,两行代码:

proxy_http_version 1.1;  #开启对http1.1支持
proxy_set_header Connection "";  #设置Connection为空串,以禁止传递头部到后端

原文地址:https://www.cnblogs.com/jinyuanliu/p/10451127.html

时间: 2024-12-13 04:34:18

一次悲催的nginx转发白屏经历的相关文章

记一次白屏统计与修复

博文原地址 白屏来源 上一版部门用的前端结构是python || lua渲染的html页面 + seajs + js模板 + less,但是这种情况发现对应不懂服务端渲染页面,或者服务端人员来说,在配合上存在工作不明,比如渲染的html应该由谁来维护,毕竟渲染的页面还是需要从服务端取数据的,以及在互相配合的过程中存在知识差异效率低的情况. 所以我们重构了,改成 backbone + modjs + js模板 + less, 打包模块也由grunt改成fis了. 白屏现象 重构了两个月,终于要上线

nginx 获取源IP 获取经过N层Nginx转发的访问来源真实IP

1. nginx 配置文件中获取源IP的配置项 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; #一般的web服务器用这个 X-Real-IP 来获取源IP proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; #如果nginx 服务器是作为反向代理服务器的,则这个配置项是必须的:否则看不到源IP 2. nginx 代理服务器的模块ngi

H5白屏问题

前言 前阵子弄了灰度环境,H5这边需要给灰度环境的接口加上Cookie,配置的期间遇到一些Cookie问题以及白屏在此记录下 1.H5请求接口带不上Cookie 解决方法:前端使用了 webpack 对项目进行打包,其中 crossOriginLoading 这一项配置的是 anonymous,由于配置错了,导致Cookie带不上 `crossOriginLoading`此选项可以启用跨域加载(cross-origin loading) chunk. `false`- 禁用跨域加载 `anony

Ionic2使用百度地图API(JS)出现白屏解决方案

最近自学ionic2,写了一个内嵌百度地图JS的demo,实际跑起来之后出现了大家常见的白屏问题.. 最初的实现是这样的: 首先主页内嵌了一个百度地图插件 <div id="Bmap" style="width: 100%;height: 100%"> 之后menu中一个引导的子页面也内嵌了一个百度地图 <div id="Bmap" style="width: 100%;height: 100%"> 然

Xamarin.Android splash页面瞬间响应_避免APP启动闪白屏

Application和Activity中的onCreate都进行了优化,基本没有耗时操作,但是启动应用之后还是会闪现一下白色背景,然后才进入Splash页面,对比了一下QQ.微信.微博等客户端,点击之后都是瞬间响应Splash启动页,差别在哪里呢. 其实就算你onCreate啥都不做,仍然会闪一下白屏,因为初始化解析界面时需要一定时间,解决方法是自定义Theme. 自定义如下 <style name="AppSplash" parent="android:Theme&

IE11/Flash页游白屏怎么办!立刻开启IE大地址模式!缓解浏览器白屏问题

您是否经常发现IE白屏了,具体表现为点开新网页时无法显示,只能切换标签,用任务管理器一看,内存1.2G之多. 这是因为IE11可能有内存泄露问题,内存不断增长以至于无法申请新的内存,于是IE就完蛋了! 然而为什么是1.2G呢?我们的内存经常是8G的,其实这是因为32位的IE11用的编译器可能比较旧,忘记了打开大内存模式,只能利用大概1.2G的内存 vc++的编译选项里可以为32位程序使用大地址模式,这个大地址模式可以令程序使用3.5G的内存 然而IE并没有开源,我们无法重新编译,难道我们就束手就

MPlayerX For Mac白屏问题

在Mac App store下载了MPlayerX后,如果系统版本是10.10的,用MPlayerX看视屏当选择全屏后会出现白屏现象只有声音退出全屏后仍旧是白屏. 这是因为MPlayerX已经在Mac App store里停止更新了,Mac App store下载的MPlayerX版本过旧和新系统不兼容,只要到网上下载最新的系统就好了 MPlayerX For Mac 1.0.22 修改默认播放器为MPlayerX 右击视频文件->选择显示简介->打开方式 选择MPlayerX->点击全

Apache/nginx转发设置-分布式部署(转)

转自http://blog.csdn.net/fujianianhua/article/details/8062234 Apache转发设置 1.  Weblogic安装 Weblogic8和Weblogic10默认安装,选择完全安装即可,如果是Weblogic9则选择自定义安装,勾选WebService plugin 2.apache服务器安装 安装说明详见文档<Apache服务器搭建说明.doc> 版本对应关系: Weblogic版本   Apache版本 weblogic8     Ap

Android -- 距离感应器控制屏幕灭屏白屏

权限                                                                                             <uses-permission android:name="android.permission.DEVICE_POWER"/> <uses-permission android:name="android.permission.WAKE_LOCK"/>