Date Tags Nginx

应用场景:

有时候,我们局域网中的服务器是不允许直接连到公网上面的, 所以要升级服务器或者安装软件的时候需要通过一个代理才能连接公网。

这里我们介绍怎么配置Nginx作为正向代理。 注意,此代理不支持https协议。

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    limit_conn_zone $binary_remote_addr zone=perip:10m;

    server {
        resolver 202.106.0.20;
        resolver_timeout 5s;
        listen       8088;

        limit_conn perip 10;
        limit_rate 20k;

        location / {
            proxy_pass $scheme://$host$request_uri;
            proxy_set_header Host $http_host;
            proxy_buffers 256 4k;
            proxy_max_temp_file_size 0;
            proxy_connect_timeout 30;
            proxy_cache_valid 200 302 10m;
            proxy_cache_valid 301 1h;
            proxy_cache_valid any 1m;
        }

        access_log s:/network/proxy/nginx/logs/proxy.log;

    }

}

配置说明

  1. 配置 DNS 解析 IP 地址,比如 北京dns,以及超时时间(5秒)。

    resolver 202.106.0.20;
    resolver_timeout 5s;
    
  2. 不能有hostname

  3. 必须有resolver, 即dns,即上面的x.x.x.x,换成你们的DNS服务器ip即可
  4. 配置正向代理参数,均是由 Nginx 变量组成。 其中 proxy_set_header 部分的配置,是为了解决如果 URL 中带 "."(点)后 Nginx 503 错误。 proxy_pass $scheme://$host$request_uri; $http_host和$request_uri是nginx系统变量,不要想着替换他们,保持原样就OK。 proxy_set_header Host $http_host;
  5. 配置缓存大小,关闭磁盘缓存读写减少I/O,以及代理连接超时时间。

    proxy_buffers 256 4k;
    proxy_max_temp_file_size 0;
    proxy_connect_timeout 30;
    
  6. 配置代理服务器 Http 状态缓存时间。

    proxy_cache_valid 200 302 10m;
    proxy_cache_valid 301 1h;
    proxy_cache_valid any 1m;