nginx配置-反向代理

Posted

tags:

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

续:nginx安装配置


开启 nginx 请求日志

同时解开http模块如下部分注释

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;

1.12.1版本需要手动在 nginx/1.12.1/目录下新建logs目录。启动可以自动生成access.log文件。

另外可以针对具体 server 生成日志文件,server 模块中加入如下配置:

error_log    logs/error_8888.log    error;
access_log    logs/access_8888.log    main;
基于 server 模块反向代理配置

配置文件加载顺序:nginx.conf --> conf.d/*.conf
文件 conf.d/*.conf 中内容是 server 模块
修改配置文件 conf.d/XXX.conf

# server 1
    server {
        listen       8888;# 监听8888端口
        server_name  localhost;# 监听服务器
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        error_log    logs/error_8888.log    error;
        access_log    logs/access_8888.log    main;
        location / {# “/” 拦截所有请求
            proxy_pass http://127.0.0.1:8080/; # 所有到localhost:8888端口请求反向代理转向目标地址
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Firwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }
基于 server 模块反向代理多服务配置

创建新文件 conf.d/YYY.conf,新建 server 模块,具体配置类似上面server。

# server 2
    server {
        listen       9999;# 监听9999端口
        server_name  localhost;# 监听服务器
        error_log    logs/error_9999.log    error;
        access_log    logs/access_9999.log    main;
        location / {# “/” 拦截所有请求
            proxy_pass http://127.0.0.1:8181/;# 所有到localhost:9999端口请求反向代理转向目标地址
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Firwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr; 
        }

    }
基于 server 模块静态资源分离配置

同样道理可以做静态资源分离。

server {
        listen       80;
        server_name  localhost;

        # static file
        location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|js|css)$ { # 正则校验过滤
              root /usr/share/nginx/html; # 静态资源地址
              #cache 缓存失效时间
              expires 3d;
        }
}

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

nginx的反向代理和配置

nginx反向代理配置

nginx 配置实例-反向代理

linux 安装 nginx 及反向代理配置

Nginx专题:Nginx之反向代理及配置

Nginx 如何设置反向代理