首页 » VPS 知识 » 浏览内容

Nginx反向代理并替换原网址


2012-12-30 13:30:41 1,945 0 发表评论 字体: 作者:C.K.

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

安装好Nginx一些预备软件,完毕站点配置:

前端全缓存,反向代理脚本

#新建2个目录,放置缓存文件:

mkdir /home/cache/path -p
  • mkdir /home/cache/temp -p
  • 修改 nginx.conf 新增以下代码,主要是缓存相关设置,请放置于 http{ ##这里 } 中,一般加在 log_format 上面或下面均可:

    client_body_buffer_size 512k;
  • 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:500m inactive=7d max_size=30g;
  • #500m是内存占用,7d是7天无访问删除,30g是缓存占具硬盘空间
  • 最简单的反向代理脚本(只要修改2个网址,存成conf文件放置于vhost下):

    server
  • {
  • listen 80;
  • server_name www.li.cm;
  • location / {
  • proxy_pass 地址/;
  • proxy_redirect off;
  • proxy_set_header X-Real-IP $remote_addr;
  • proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  • }
  • }
  • 反向代理并替换原网址:

    server {
  • listen 80;
  • server_name www.li.cm; #绑定的域名
  • access_log off; #关闭日志
  • location / {
  • subs_filter ‘www.baidu.com’ ‘www.li.cm’ gi;#替换链接
  • subs_filter ‘百度’ ‘度娘’ gi;#替换文本
  • proxy_set_header referer http://www.baidu.com;#如果网站有验证码,可以解决验证码不显示问题
  • proxy_set_header X-Real-IP $remote_addr;
  • proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  • proxy_set_header Host www.baidu.com; #定义主机头,如果目标站点绑定的域名个server_name项的吻合则使用$host
  • proxy_pass http://www.baidu.com; #指定目标,建议使用IP或者nginx自定义池
  • proxy_set_header Accept-Encoding “”; #清除编码
  • }
  • }
  • (记住subs_filter 命令的格式,你想替换设么就随你了。)

    使配置生效

    另外, 反向代理的个数是不限制的。只要你掌握了规则,一个网站下可以包含n多个网站的镜像。 一个
    nginx 上也可以跑 n多个网站。就看你自己怎么运用了。

    唯一的已知缺陷是登陆后会自动跳转回原网址,以后解决了再更新

      网站统计 Statistics

      • 创建时间: 2005年1月3日 距今4855 天
      • 日志总数: 2461
      • 评论总数: 630
      • 标签总数: 654
      • 链接总数: 273
      • 最后更新: 2017-7-1 18:16:33
      • 您是本站第 13458606 位访客

      广告区 Guǎng Gào