精华内容
下载资源
问答
  • nginx 反向代理 502 错误的解决

    千次阅读 2020-05-28 09:54:42
    问题描述:通过nginx反向代理地址之后报错502,后台日志报错信息为(upstream sent too big header while reading response header from upstream) 问题原因:nginx中proxy_buffer_size默认值是4k,第三方地址响应...

    Nginx反向代理----502报错
    问题描述:通过nginx反向代理地址之后报错502,后台日志报错信息为(upstream sent too big header while reading response header from upstream)
    问题原因:nginx中proxy_buffer_size默认值是4k,第三方地址响应头超过了此长度,Nginx报upstream sent too big header错误,然后client收到的是502。
    解决方案:在http字段中增加以下三个参数
    proxy_buffer_size 128k;
    作用:Nginx使用该大小申请read_buf(读取数组长度),即大小指定了 upstream header 最大长度,如果响应头超过了这个长度,Nginx会报upstream sent too big header错误,然后client收到的是502。
    proxy_buffers   32 32k;
     作用:设置存储被代理服务器响应的body所占用的buffer个数和每个buffer大小。
    #   proxy_busy_buffers_size 64k;
     作用:proxy_busy_buffers_size不是独立的空间,他是proxy_buffers和proxy_buffer_size的一部分。
        nginx会在没有完全读完后端响应就开始向客户端传送数据,所以它会划出一部分busy状态的buffer来专门向客户端传送数据(建议为proxy_buffers中单个缓冲区的2倍),然后它继续从后端取数据。
        proxy_busy_buffer_size参数用来设置处于busy状态的buffer有多大。
    ————————————————
    版权声明:本文为CSDN博主「运维白菜鹏」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_42207486/article/details/103143083

    展开全文
  • nginx 代理访问后台接口502 客户的项目后台登录的接口突然报502,早上还可以用,突然就不行。 首先排查了下nginx的配置是否有问题,no problem。 so,再次排查服务器的内存,磁盘占用,too no problem。 最后打开...

    nginx 代理访问后台接口502

    客户的项目后台登录的接口突然报502,早上还可以用,突然就不行。
    首先排查了下nginx的配置是否有问题,no problem。
    so,再次排查服务器的内存,磁盘占用,too no problem。
    最后打开nginx的错误日志,发现
    错误日志在这里插入图片描述
    怀疑可能是服务器后台某个线程资源一直在给客户端发送数据导致nginx出现这个问题

    经询问,原来是早上客户导出一个3万多条的excel文件,很慢,但是客户把浏览器关了,后台还在继续发送数据。
    查阅资料,
    errno = 104 错误表明你在对一个对端socket已经关闭的的连接调用write或send方法,在这种情况下,调用write或send方法后,对端socket便会向本端socket发送一个RESET信号,在此之后如果继续执行write或send操作,就会得到errno为104,错误描述为connection reset by peer。

    但是呢自己是个nginx菜鸡,资料上提到要去改nginx的缓冲区大小,超时时间,缓存等等,不太敢在客户服务器上弄。

    最后,只能stop掉后台项目,重新启动start。解决

    展开全文
  • 原本的访问地址为http://localhost:9001,想用nginx反向代理将9001端口号去掉,我敲代码电脑的操纵系统为windows,并从window上运行docker,这个项目在windows上的idea中测试运行,但是设置好nginx.conf之后 ...

    这个坑我踩了两周都没踏过去,最终还是做我旁边的大佬告诉我的,先说一下情况

    有一个vue前端项目,原本的访问地址为http://localhost:9001,想用nginx反向代理将9001端口号去掉,我敲代码电脑的操纵系统为windows,并从window上运行docker,这个项目在windows上的idea中测试运行,但是设置好nginx.conf之后

     

    也就是这样,

    server {
            listen       80;
            server_name  127.0.0.1;
    
            proxy_set_header X-Forwarded-Host $host;
    		proxy_set_header X-Forwarded-Server $host;
    		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    		
    		location / {
    			proxy_pass http://127.0.0.1:9001;
    			proxy_connect_timeout 600;
    			proxy_read_timeout 600;
    		}
        }

    但是总是出现

    网上查了好多怎么都是502,而且error.log日志中总是这样的路径找不到的错误

    2020/05/13 06:31:08 [error] 6#6: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.20.0.1, server: 127.0.0.1, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:9001/", host: "127.0.0.1"

     

    最后还是求助于大佬,原来是因为在windows上docker可以看作是一台虚拟机,在nginx.conf中设置的127.0.0.1:9001是访问不到宿主机上的,也就是windows。需要把nginx.conf中的127.0.0.1改成http://host.docker.internal:9001 便可以访问到宿主机上了。

    展开全文
  • Nginx配置反向代理

    万次阅读 多人点赞 2019-07-14 14:05:31
    Nginx配置反向代理,什么是反向代理 反向代理服务器决定哪台服务器提供服务。返回代理服务器不提供服务器。只是请求的转发。

    更多Nginx教程可以点击下面的链接查看哦

    https://www.itqiankun.com/article/1564904492

    什么是反向代理

    反向代理服务器决定哪台服务器提供服务。返回代理服务器不提供服务器。只是请求的转发。
    正向代理如下
    在这里插入图片描述
    反向代理如下
    在这里插入图片描述

    Nginx实现反向代理的过程
    首先安装两个tomcat服务器,都放到nginx服务器里面,两个端口分别是8081和8082

    首先是下载tomcat,使用下面的命令

    wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.94/bin/apache-tomcat-7.0.94.tar.gz
    

    在这里插入图片描述
    然后是加载这个压缩包

    tar -xvf apache-tomcat-7.0.94.tar.gz
    

    在这里插入图片描述
    然后把apache-tomcat-7.0.94复制成两份,一份是tomcat8081,一份是tomcat8082,过程如下

    cp -r apache-tomcat-7.0.94 tomcat8081
    cp -r apache-tomcat-7.0.94 tomcat8082
    

    在这里插入图片描述
    然后通过Editplus远程连接修改tomcat8081里面的server.xml配置里面修改端口号,(怎么通过EditPlus连接linux,看着篇文章:https://blog.csdn.net/weixin_43689480/article/details/95867289,注意主要要修改三个端口号

    <Server port="8006" shutdown="SHUTDOWN">
    <Connector port="8081" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
    <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
    

    然后通过Editplus远程连接修改tomcat8082里面的server.xml配置里面修改端口号(怎么通过EditPlus连接linux,看着篇文章:https://blog.csdn.net/weixin_43689480/article/details/95867289,注意主要要修改三个端口号

    <Server port="8007" shutdown="SHUTDOWN">
    <Connector port="8082" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
    <Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />
    

    然后把tomact8081里面的webapps文件夹里面的ROOT文件夹里面的index.jsp变成下面这样,此时可以看到下面输入的内容是8081

    
    <!DOCTYPE html>
    <%@ page session="false" %>
    <%
    java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy");
    request.setAttribute("year", sdf.format(new java.util.Date()));
    request.setAttribute("tomcat7Url", "http://tomcat.apache.org/");
    request.setAttribute("tomcat7DocUrl", "/docs/");
    request.setAttribute("tomcat7ExamplesUrl", "/examples/");
    %>
    <html lang="en">
        <head>
            <title><%=request.getServletContext().getServerInfo() %></title>
            <link href="favicon.ico" rel="icon" type="image/x-icon" />
            <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
            <link href="tomcat.css" rel="stylesheet" type="text/css" />
        </head>
    
        <body>
    		<h1>tomcat8081index.jsp<h1>
        </body>
    
    </html>
    

    然后把tomact8082里面的webapps文件夹里面的ROOT文件夹里面的index.jsp变成下面这样,此时可以看到下面输入的内容是8082

    
    <!DOCTYPE html>
    <%@ page session="false" %>
    <%
    java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy");
    request.setAttribute("year", sdf.format(new java.util.Date()));
    request.setAttribute("tomcat7Url", "http://tomcat.apache.org/");
    request.setAttribute("tomcat7DocUrl", "/docs/");
    request.setAttribute("tomcat7ExamplesUrl", "/examples/");
    %>
    <html lang="en">
        <head>
            <title><%=request.getServletContext().getServerInfo() %></title>
            <link href="favicon.ico" rel="icon" type="image/x-icon" />
            <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
            <link href="tomcat.css" rel="stylesheet" type="text/css" />
        </head>
    
        <body>
    		<h1>tomcat8082index.jsp<h1>
        </body>
    
    </html>
    

    然后就是启动tomcat8081和tomcat8082,启动如下所示

    /root/tomcat8081/bin/startup.sh
    /root/tomcat8082/bin/startup.sh
    

    然后访问http://47.91.248.236:8081/ 路径结果如下,成功了

    在这里插入图片描述
    然后访问http://47.91.248.236:8082/ 路径结果如下,成功了
    在这里插入图片描述

    然后我们配置本地电脑里面的host文件变成下面这样

    这里我们借助ihost来操作
    在这里插入图片描述

    然后配置nginx服务器里面的conf文件夹里面的nginx.conf配置文件,配置完之后记得要重启nginx服务器

    此时当访问www.sina.com 的时候,就会访问host文件,然后就会去找47.91.248.236 这个ip对应的linux服务器,然后www.sina.com 默认的端口就是80,所以访问www.sina.com 的时候,就会找到下面的upstream tomcat1,然后下面的upstream tomcat1就会去找server 47.91.248.236:8081,就会找到8081端口的tomcat服务器,然后因为upstream tomcat1的默认访问页是index.jsp,所以就会访问8081端口的tomcat服务器的index.jsp页面(也就是http://47.91.248.236:8081/index.jsp

    此时当访问www.huohu.com 的时候,就会访问host文件,然后就会去找47.91.248.236 这个ip对应的linux服务器,然后www.huohu.com 默认的端口就是80,所以访问www.huohu.com 的时候,就会找到下面的upstream tomcat2,然后下面的upstream tomcat2就会去找server 47.91.248.236:8082,就会找到8082端口的tomcat服务器,然后因为upstream tomcat2的默认访问页是index.jsp,所以就会访问8082端口的tomcat服务器的index.jsp页面(也就是http://47.91.248.236:8082/index.jsp

    user  root;
    worker_processes  1;
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
    	#配置www.sina.com:80对应的服务器监听端口
    	upstream tomcat1 {
    	server 47.91.248.236:8081;
    	}
    	server {
    	    listen       80;
    	    server_name  www.sina.com;
    	    location / {
    	        proxy_pass   http://tomcat1;
    	        #配置默认访问页,这里就会访问到tomcat1里面的那个index.jsp文件里面
    	        index  index.jsp;
    	    }
    	}
    	
        
        #配置www.houhu.com:80对应的服务器监听端口
        upstream tomcat2 {
    	server 47.91.248.236:8082;
        }
        server {
            listen       80;
            server_name  www.houhu.com;
            location / {
                proxy_pass   http://tomcat2;
                #配置默认访问页,这里就会访问到tomcat2里面的那个index.jsp文件里面
                index  index.jsp;
            }
        }
    }
    
    然后我们访问 www.sina.com

    此时访问到的就是tomcat8081对应的tomcat服务器
    在这里插入图片描述

    然后我们访问 www.huohu.com

    此时访问到的就是tomcat8082对应的tomcat服务器

    在这里插入图片描述

    到此nginx的反向代理就完成了

    能看到这里的同学,觉得好的话就帮忙点个赞吧,Thanks♪(・ω・)ノ

    原文链接

    大佬链接
    https://www.itqiankun.com/article/1564904492

    展开全文
  • nginx代理

    千次阅读 2018-06-02 16:02:02
    代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。...
  • 前端跨域是经常遇到的问题,如何解决跨域问题,常用的办法就是采用...多数后台服务器网页不能直接访问,需要进行代理之后才能解决跨域问题。nginx中代理的端口设置是85,后续默认都是85 location /topo { proxy_pa...
  • 配置好nginx反向代理之后第一次请求是可以的, 但是刷新的时候就会出现502. 查看日志提示 swFactoryProcess_finish (ERRNO 1004): send 8200 byte failed, because connection[fd=33] is closed 百度了之后没有查...
  • nginx服务器报错502 bad gateway!

    万次阅读 2019-03-27 18:24:56
    服务器进行公众号粉丝数据同步以及批量推送报错502 根据错误信息可以判定是后端的问题,502错误的原因有很多种,但总的来说就是服务器处理不过来了 1.首先查看服务器日志 1)先查nginx日志,不熟悉的可以从nginx....
  • 后台获取IP地址如果配置了Nginx,那么相应的转发请求需要配置Nginx代理参数,否则获取到的都是Nginx服务器地址。 Nginx Location配置 核心配置: proxy_redirect off; proxy_set_header Host $host; proxy_...
  • Nginx代理静态图片

    2020-11-25 23:05:06
    Nginx代理静态图片 安装Linux安装点这里 当搭建好Nginx先创建图片文件,我这里是放在/home/resources/images下,linux对应创建文件夹命令如下: 创建单个文件夹 mkdir a 创建多个文件夹 mkdir -p a/b/c ...
  • windows下的nginx代理 下载nginx 解压就可以使用 在当前目录启动 无需重启加载nginx.conf 让nginx代理tomcat。这个我们使用8081端口为nginx的启动,端口未代理的时候,此时tomcat要启动 ...
  • 文章目录一、Nginx代理概述(1)什么是正向代理和反向代理-正向代理:-反向代理-反向代理和正向代理的区别(2)配置代理-Nginx代理配置语法-配置正向代理-Nginx反向代理示例二、基于Nginx反向代理的负载均衡(1)...
  • Nginx 代理配置

    万次阅读 2018-06-26 12:55:27
    Nginx 代理配置其他配置语法---缓冲区配置语法:Syntax : proxy_buffering on|off;Default :proxy_bufferiong on;Context : http,server,location作用:尽有可能的将把一个请求的信息收集完,返回给客户端。这是...
  • nginx代理tcp协议

    2020-07-20 10:46:20
    nginx1.9以后新增了对tcp协议的支持,我们只需做一点简单的配置,就可以转发tcp协议请求了。 nginx使用了一个新的模块stream 来支持tcp协议,这个模块与 http 模块比较类似。 下面我以MySQL来做测试,使用nginx来...
  • restful api地址中包含了特殊字符,经过nginx代理之后,报400的错误,比如下面的示例地址: 127.0.0.1:8080/abc/user/aaa>bbb>ccc 测试代码 后台SpringBoot接口代码如下: @GetMapping("/abc/user/{id}") ...
  • nginx代理sftp

    千次阅读 2019-04-10 14:13:00
    最近需要使用一个sftp协议的代理服务器,查了一下nginx1.9之后已经支持了,尝试一下: Thengx_stream_core_modulemodule is available since version 1.9.0. This module is not built by default, it should be ...
  • nginx代理mysql

    千次阅读 2018-08-04 15:32:00
    实验环境: 两台编译安装的mysql 一台编译安装的nginx 192.168.3.1 192.168.3.3 192.168.3.2 首先解压nginx1.11版本的包 如果已经安装过nginx但版本不到1.9的话使用平滑升级 y...
  • 一些运行在Nginx上的网站有时候会出现“502 Bad Gateway”错误,有些时候甚至频繁的出现。有些站长是在刚刚转移到Nginx之后就出现了这个...Nginx 502错误的原因比较多,是因为在代理模式下后端服务器出现问题引起...
  • 今天配置nginx https 反向代理 居然出现502 bad gateway, 原来是selinux的问题,汗~~ nginx配置文件 upstream test{ server 127.0.0.1:8082; } server{ listen 443 ssl; ssl_certificate ...
  • harbor配置nginx代理

    千次阅读 2020-04-09 23:03:17
    ​ 从前面的文章harbor搭建docker私有镜像仓库可以看出harbor默认只能使用harbor.yml中hostname指定的ip或主机名作为web访问地址,但在实际使用过程中,一般不允许ip地址或者主机名直接...,故需要配置nginx代理...
  • Nginx代理静态资源

    千次阅读 2017-05-05 13:44:15
    1.设置本地的静态资源为Nginx代理资源 编辑Nginx的配置文件‘安装目录/conf/nginx.conf’ location / { #root E:\MyWorkspace\credDev\src\main\webapp; root E:\MyWorkspace\www02.wiipay.cn\WebContent; #添加...
  • 调用时 url = 'api/data/datalist';...在nginx配置 location ^~ /api/ { proxy_pass http://需要代理的地址/; <---别忘了加/和; } location ^~ /api/ { proxy_pass http://需要代理的地址/; } ...
  • Nginx 代理过滤header

    千次阅读 2019-01-14 21:27:03
    目的:Nginx 代理过滤header 环境: 系统:Centos 7.5 环境:x64,nginx 1.4 需求: Nginx作负载均衡,在业务场景更改以后,为避免重复编码。将路由规则放入Http请求headers中,从Nginx端进行过滤路由。 ...
  • nginx代理不生效问题

    千次阅读 2020-03-08 17:18:27
    环境: 操作系统:windows10 nginx版本:1.16.1 问题: 更改了nginx.conf后,在...神奇的事发生了:在任务管理器里结束了所有nginx的进程后,竟然还能访问到代理!!!证明代理没有真正的结束掉! 解决: ...
  • 我出现这个问题的原因是,nginx运行在docker里面,所以localhost或者127.0.0.1访问的时候都是访问的...ifconfig查询ip信息,我这里使用了eth0对应的ip地址,192.168开头的地址配置到nginx之后,转发正常,问题解决 ...
  • nginx代理TCP模块

    2017-06-28 09:33:40
    nginx1.9之后的版本可代理TCP链接 其中Windows版本可直接使用 Linux版本需要在编译(./configure)时添加–with-stream参数 简单 示例如下 1.简单代理stream { server { listen 22; proxy_connect_timeout 20s; ...
  • nginx反向代理,和访问本地服务器是一样的 可以修改成正式线上的地址,再build 推荐 使用nginx配置反向代理,这样就可以在前端彻底解决跨域问题。 vue index.js文件源码 'use strict' // Template version:...
  • Linux下Nginx 代理给tomcat 首先 进入cd /usr/local/webserver/nginx/conf 第二进入nginx.conf vi nginx.conf 第三步保存 esc 之后 :wq 先利用/usr/local/nginx/sbin/nginx -t测试配置文件修改是否正常 /usr/local...
  • nginx代理解决项目跨域的问题,代理之后,同时做了负载的配置,相当于在代理的同时可以进行负载。解决了前后端分离跨域,接口端项目负载的配置。
  • nginx代理原理和基本使用

    千次阅读 2019-01-31 17:02:37
    文章目录nginx代理原理和基本使用前言1、Nginx功能概述1.1、HTTP基础功能1.2、IMAP/POP3 代理服务功能1.3、支持的操作系统1.4、结构与扩展1.5、其他HTTP功能2、Nginx优点3、Nginx的使用场景3.1、关于代理3.2、正向...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 71,573
精华内容 28,629
关键字:

nginx代理之后502