当前位置:首页 > nginx > 正文

nginx反向代理后前端请求ip变了

  • nginx
  • 2024-05-20 16:06:19
  • 5341

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

最近研究了这方面的配置,但是脚本比较复杂。 网上查了几天,主要教程还是一样。 这有点令人困惑,所以我整理了一下。 我告诉你最简单的实现这两个的方法:

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

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

3。 只提供简单的应用,自动更新,其他操作不解释

4最简单的脚本,简单易学

记住:配置完成后,需要更新nginx配置我下面两个命令是可以接受的:

/root/lnmpre load

/etc/init.d/nginxreload

1个脚本(只需编辑2个URL,将其另存为文件conf并将其放置在vhost下):

server

{

listen80;

server_namewww.vpsmm.com;

position/{

proxy_passhttp://cache.vpsmm.com/;

proxy_redirectoff;

proxy_set_headerX-Real-IP$remote_addr;

proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;

}

}

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

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

mkdir/home/cache/path-p

mkdir/home/cache/temp-p

编辑/usr/local/nginx/conf/nginx.conf,添加以下代码,主要是缓存相关的设置,放在http{##这里},通常添加在log_format的上方或下方:

client_body_buffer_size512k;

proxy_connect_timeout5;

proxy_read_timeout60;

proxy_send_timeout5;

proxy_buffer_size16k;

proxy_buffers464k;

proxy_busy_buffers_size128k;

proxy_temp_file_write_size128k;

proxy_temp_path/home/cache/temp;

proxy_cache_path/home/cache/pathlevels=1:2keys_zone=cache_one:500minactive=7dmax_size=30g;

#500m为内存使用量,7d删除7天无访问,30g为硬盘缓存占用的磁盘磁盘空间

以下是虚拟主机配置文件,可以保存为.conf,放在vhost下:

server

{

listen80;

server_namewww.vpsmm.com;#hostname

位置/{

proxy_cachecache_one;

proxy_cache_valid2003043d;#正常缓存时间3天

proxy_cache_key$host$uri$is_args$args;

proxy_passhttp://cache.vpsmm.com/;#防生成网站

proxy_redirectoff;

proxy_set_headerX-Real-IP$remote_addr;

proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;

expires10days;#默认缓存10天

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

}

}

只需在网站上单击几下,df-sh命令即可检查/home/cache目录的大小,以查看缓存是否正常工作。 这个脚本完全被前端缓存了,动态更新后端后,前端不会自动改变。 您可以手动删除缓存目录中的文件。 该方法可用于防止纯静态形式的CC。 如果你的动态博客遭到CC攻击,可以尝试一下。

3.一些简单的反CCLNMP方法

查看生成的.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:

catcom.log|grep'Mozilla/5.0'|awk'{print"iptables-IINPUT-ptcp--dport80-s",$1,"-jDROP"}'|sort-n|uniq|sh

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