标签 反向代理 下的文章

Nginx 反向代理配置多个域名指向不同IP(端口)

如下是服务器部署:

  • 代理服务器 A,安装Nginx
  • web服务器 B 和 C,安装Apache

现在需要配置 nginx.conf 把 b.test.cn 指向 B 服务器,c.test.cn 指向 C 服务器。
nginx.conf关键配置:

...
upstream b_server {
    ip_hash;  
    server 192.168.0.1 weight=1 max_fails=8 fail_timeout=30s;     
}

upstream c_server {
    ip_hash;  
    server 192.168.0.2 weight=1 max_fails=8 fail_timeout=30s;     
}
...

server {
listen       80;
server_name  b.test.cn;

    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-Ip $remote_addr;

        proxy_pass http://b_server;
   }
}

server {
listen       80;
server_name  c.test.cn;

    location / {
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-Ip $remote_addr;

        proxy_pass http://c_server;
   }
}

如上配置,即可实现不同域名反向代理指向不同IP(端口)。

Nginx 按域名缓存

2019-8-8 已更新到Nginx最新Stable version nginx-1.16.0

Nginx常用作反向代理服务器,同时起着缓存作用。

我们服务器上运行着成百上千的网站,而且经常需要清理缓存。Nginx默认的缓存文件是散列存放的,想针对性删除某个域名下的缓存就很困难,所以希望在生成缓存的时候能够 按域名 存储。

在网上找到一个类似的需求(已经找不到原文出处),改动Nginx源码(src/http/ngx_http_file_cache.c),过程如下:

- 阅读剩余部分 -