nginx反向代理配置

Posted

tags:

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

测试版本nginx1.6.3

测试系统:centos 6系统

安装配置文档:http://jasonzhu.blog.51cto.com/5594807/1750188


原理:

用户发出访问请求,域名解析到nginx服务器的ip(23.234.xx.2),在nginx服务器配置ip反向代理,将xx.2收到的请求,通过代理转发规则,统统转发给23.234.xx.3


用户---(请求,域名解析ip)--->抗攻击(nginx转发服务器)---(代理转发规则)-->后端apache服务器


ip反向代理配置:

vim /usr/local/nginx/conf/nginx.conf

http {

    include       mime.types;

    default_type  application/octet-stream;

    #log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘

    #                  ‘$status $body_bytes_sent "$http_referer" ‘

    #                  ‘"$http_user_agent" "$http_x_forwarded_for"‘;

    #access_log  logs/access.log  main;

    sendfile        on;

    #tcp_nopush     on;

    #keepalive_timeout  0;

    keepalive_timeout  65;

    #gzip  on;

    include /usr/local/nginx/conf/conf.d/*.conf;

    server {

        listen       80;

        server_name  _;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

            proxy_next_upstream http_502 http_504 error timeout invalid_header;

            proxy_pass http://$target;

            proxy_set_header Host $host;

            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

          }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html

        #

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

}


在/usr/local/nginx/conf/目录下创建conf.d/map.conf扩展转发规则

vim /usr/local/nginx/conf/conf.d/map.conf

map $server_addr $target {

    #baidu.com

    23.234.xx.2 23.234.xx.3:80;

    #请求IP     转发IP:端口

}

PS:target参数传到nginx.conf配置文件中,作为下一跳转发的地址。


/usr/local/nginx/sbin/nginx -s reload    重新加载配置文件


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

Nginx反向代理常用配置

Nginx配置——单域名反向代理多个端口

nginx配置反向代理解决vue跨域问题

反向代理情况下配置nginx错误页面跳转

nginx反向代理三种模式

Nginx常用反向代理配置规则