Nginx反向代理和前端全缓存相关配置教程

最近一直在研究这方面的配置,只是脚本比较复杂。在网上用力找了几天,主要教程还是那些东西。并且有点乱七八糟,笔者进行了一些整理。告诉你最简单的方法,来实现这二个方面的内容:

1.nginx最简单的反向代理脚本

2.nginx最简单的前端缓存反向代理脚本

3.只提供简单应用,自动更新等操作不讲解

4.最简单的脚本,容易学会到渣

切记:配置完成后,需要刷新nginx配置,以下2条命令都可以:

/root/lnmp reload

/etc/init.d/nginx reload

一、最简单的反向代理脚本(只要修改2个网址,存成conf文件放置于vhost下):

server

{

listen 80;

server_name www.vpsmm.com;

location / {

proxy_pass http://cache.vpsmm.com/;

proxy_redirect off;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

}

二、最简单的前端全缓存,反向代理脚本

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

mkdir /home/cache/path -p

mkdir /home/cache/temp -p

修改 /usr/local/nginx/conf/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是缓存占具硬盘空间

以下为虚拟主机配置文件,可另存成 .conf 放置于 vhost 下面:

server

{

listen 80;

server_name www.vpsmm.com; #主机名

location / {

proxy_cache cache_one;

proxy_cache_valid 200 304 3d; #正常状态缓存时间3天

proxy_cache_key $host$uri$is_args$args;

proxy_pass http://cache.vpsmm.com/; #反代的网站

proxy_redirect off;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

expires 10d; #默认10天缓存

access_log /home/wwwlogs/vpsmm.log access; #日志文件

}

}

点击几下网站,df -sh 命令,查看 /home/cache 目录大小,即可测试是否缓存成功。此脚本为前端全缓存,后端动态更新后,前端不会自动修改。可手动清理cache目录下文件。这个方法,可以用纯静态的形式来防CC,如果你的动态博客,受到CC攻击,可以尝试一下。

三、LNMP简单的一些防CC的办法

观看生成的.log日志文件,判断来路,直接301百度:

if ($http_referer ~* mi5.gov ) {

rewrite ^(.*)$ http://www.baidu.com/ permanent;

}

观看生成的.log日志文件,判断浏览器特征码,直接301百度:

if ($http_user_agent ~* firefox4.0 ) {

rewrite ^(.*)$ http://www.baidu.com/ permanent;

}

根据特征码,直接查找.log文件,并iptables封死相应IP:

cat com.log | grep 'Mozilla/5.0' | awk '{print "iptables -I INPUT -p tcp --dport 80 -s ", $1, "-j DROP"}'| sort -n | uniq | sh

文章来源:http://www.vpsmm.com

(0)

相关推荐

  • Linux VPS上配置Nginx反向代理的方法

    反向代理是什么? 反向代理指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部(或其他)网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端。 实现方法: ...

  • Nginx反向代理以及配置优化

    下面配置包含了,nginx配置的一个比较全面的反向代理的例子: user www www worker_processes 8; events { use epoll; worker_connecti ...

  • 在Linux系统下使用Docker以及Weave搭建Nginx反向代理

    Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动 ...

  • nginx反向代理到tomcat的多个项目

    安装nginx和tomcat、jdk就不说了。 首先,nginx设置转发 server { listen 80; server_name jiang.xxxt.com; location / { pr ...

  • linux系统中配置Nginx 拒绝代理访问指定IP的方法

    先大概说说简单的结构…前端一个Nginx反向代理,后端一个Nginx instance app for PHP…实际上就是个Discuz,之前面对CC攻击都是预警脚本或者走CDN,但是这次攻击者不再打 ...

  • linux中配置Nginx 拒绝代理访问

    先大概说说简单的结构…前端一个Nginx反向代理,后端一个Nginx instance app for PHP…实际上就是个Discuz,之前面对CC攻击都是预警脚本或者走CDN,但是这次攻击者不再打 ...

  • Linux服务器反向代理软件varnish

    Varnish作为反向代理软件,应用于Web 前端,其良好的Cache性能使得网站承载能力有很大提升,下面记录下最近使用在Varnish学习与应用中的实践体会,本篇主要内容:安装 配置 监控。 一、v ...

  • 在IIS7中应用Application Request Routing配置反向代理的图文教程

    在IIS7之前,在windows上要实现该功能却不是一件容易的事情,但是在IIS7上,通过Application Request Routing模块,我们可以轻松实现反向代理 在配置web服务器的时候 ...

  • 使用Squid实现反向代理

    背景介绍: 代理服务器是使用非常普遍的一种将局域网主机联入互联网的一种方式,使用代理上网可以节约紧缺的IP地址资源,而且可以阻断外部主机对内部主机的访问,使内部网主机免受外部网主机的攻击.但是,如果想 ...