最新消息:本站访问过程中有任何问题请与我联系……

Nginx配合ngx_http_substitutions_filter_module模块搭建反向代理服务器,并替换目标站内容【之一】

技术教程 xx2008 3860浏览 0评论

以前写过Nginx反向代理通过with-http_sub_module和substitutions4nginx模块替换正文内容和URL和在军哥lnmp的环境下配置反向代理服务器的方法教程

本教程基于军哥lnmp环境,其他Nginx类同。区别在于nginx conf的位置,一般编译的在/usr/local/nginx/conf/,从源安装的在/etc/nginx。

lnmp的安装这里省略,下面教程是在已经安装好的lnmp环境下配置反向代理服务器,并实现替换内容。

一、仅仅作为反向代理服务器,做cdn加速,不替换内容

1.新增虚拟主机配置文件用于反代

找到您的nginx conf所在位置,一般编译的在/usr/local/nginx/conf/,从源安装的在/etc/nginx

在nginx.conf的http层加入以下内容:

proxy_connect_timeout    5;
proxy_read_timeout       60;
proxy_send_timeout       5;
proxy_buffer_size        16k;
proxy_buffers            4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_temp_path   /home/cache/temp;
#临时文件目录
proxy_cache_path  /home/cache/path levels=1:2 keys_zone=cache_one:5m inactive=7d max_size=1g;
#5m为内存占用,1g为最大硬盘占用,cache_one为缓存区名字,如果修改则下文的配置亦要相应修改。

mkdir /home/cache/path -p
mkdir /home/cache/temp
chmod 777 -R /home/cache

新增虚拟主机配置:

vi /usr/local/nginx/conf/vhost/xxorg.com.conf  

#xxorg.com是你要绑定的域名

配置文件内容:{后端(ip为1.2.3.4)绑定域名xxorg.com,前端绑定域名xxorg.com,域名解析到前端,实现cdn加速。}

server{
listen 80;
server_name example.com www.example.com;    
#绑定的域名

index index.php;      
#默认首页

access_log off;        
#off 关闭日志

location / {
proxy_cache_key "$scheme://$host$request_uri";
#缓存key规则,用于自动清除缓存。

proxy_cache cache_one;
#缓存区名称,与前面定义的相同

proxy_cache_valid  200 304 3h;
proxy_cache_valid 301 3d;
proxy_cache_valid any 10s;
#200 304状态缓存3小时
301状态缓存3天
其他状态缓存(如502 404)10秒

proxy_set_header   X-Real-IP  $remote_addr;
proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
#向后端传递访客ip

proxy_set_header   Referer http://example.com;    
#强制定义Referer,程序验证判断会用到

proxy_set_header   Host $host;
#定义主机头

proxy_pass http://1.2.3.4;    
#指定后端ip,可以加端口

#proxy_cache_use_stale invalid_header error timeout http_502;
#当后端出现错误、超时、502状态时启用过期缓存,慎用。
      }
}

如无意外,重启nginx后把xxorg.com绑定到前端就可以访问了

也可以用以下方法查看配置文件是否正确:

执行:

/usr/local/nginx/sbin/nginx -t

检查配置是否正常,如果显示:

the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok    
configuration file /usr/local/nginx/conf/nginx.conf test is successful

就说明nginx的配置文件正常,否则按错误提示修改配置。

然后执行

kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

使配置生效,

/etc/init.d/nginx restart

本教程共三部分内容:

Nginx配合ngx_http_substitutions_filter_module模块搭建反向代理服务器,并替换目标站内容【之一】

Nginx配合ngx_http_substitutions_filter_module模块搭建反向代理服务器,并替换目标站内容【之二】

Nginx反向代理并替换内容模块ngx_http_substitutions_filter_module的使用说明

转载请注明:服务器VPS折腾 » Nginx配合ngx_http_substitutions_filter_module模块搭建反向代理服务器,并替换目标站内容【之一】

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址