Nginx怎么配置反向代理

Posted 技术源泉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx怎么配置反向代理相关的知识,希望对你有一定的参考价值。

有时候,为了保护我们的服务器或者想做负载均衡等原因,我们需要反向代理来实现这个功能,今天我就来简单讲下怎么配置反向代理

方法/步骤

  1. 假设我们有个tomcat服务,端口为8080。

    这里以centos7为例,找到我们的nginx配置文件。

    一般默认位置在/etc/nginx文件夹中。

  2. 查看我们的nginx主配置文件。

    cat /etc/nginx/nginx.conf

    我们可以看到配置文件中含有这一行

     include /etc/nginx/conf.d/*.conf;

    它代表nginx启动时会加载conf.d/下的所有.conf的配置文件。

  3. 我们切换到conf.d目录下

    cd conf.d

    创建文件tomcat.conf

    vi tomcat.conf

    添加如下配置:

    upstream site {

            server 127.0.0.1:8080;

    }


    server {

    listen 80;

    # server_name 这里填写你的域名

    server_name example.com;  

    # 匹配静态文件,进行缓存

    location ^~ static/ {

        expires      30d;

        root /tomcat_server/ROOT/static/;

    }


    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico|js|css|htm|zip|rar|tar|gz)$ {

          expires      30d;

    root /tomcat_server/ROOT/;

        }


    # 这里是关键的地方,这里匹配/ 进行反向代理。


    location / {

                 # 下面的参数可以获取客户真实IP

                  proxy_http_version      1.1;

                  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;    

                  client_max_body_size    50m;    

                  client_body_buffer_size 128k;

                  proxy_buffer_size       4k;    

                  proxy_buffers           32 4k;

                  proxy_busy_buffers_size 64k;  

                  proxy_connect_timeout   30;    

                  proxy_send_timeout      300;    

                  proxy_read_timeout      300;

                  # 这个参数就是反向代理指令

                  proxy_pass http://site;

    }


    }

  4. 4

    编辑完毕后,可以通过nginx -t测试配置文件是否正确。

    不正确可以根据提示进行修改!

    然后重启nginx,就可以使用nginx代理Tomcat服务了。



以上是关于Nginx怎么配置反向代理的主要内容,如果未能解决你的问题,请参考以下文章

Nginx 如何设置反向代理

Nginx怎么配置反向代理

nginx反向代理为啥不成功

nginx配置反向代理

nginx怎么配置tomcat反向代理

nginx做反向代理负载均衡 Java怎么获取后端服务器获取用户IP