很多站长可能都有同样的烦恼,直连中国线路好的服务器价格昂贵或者不稳定,而物美价廉又稳定的服务器呢线路不好,访问速度慢,两者很难兼得或者成本很高。
这个难题其实用一个很简单的部署策略就可以解决,就是加一层前端反代。用线路好的小规格vps,反代线路差但是稳定强健的后端服务器。
具体操作如下:
后端先架好网站,就是安装Web环境,都有很多一键包
找一个线路好的小vps做前端,修改网站域名的a记录到这个前端
然后前端简单装一个debian系统就行,进ssh后运行命令,安装nignx
apt-get install -y nginx
(这一步如果出错,就先 apt-get update 更新一下软件包)
nignx装好后,执行如下命令
rm -rf /etc/nginx/nginx.conf
vi /etc/nginx/nginx.conf
进入vi编辑器之后,按一下 i 进入插入模式,粘贴以下内容
user www-data;
worker_processes 4;
pid /run/nginx.pid;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server_tokens off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
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;
gzip on;
gzip_disable "msie6";
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
然后 :wq 回车 保存退出,就完成nginx的反代设置
接下来就可以建立一个反代网站:
vi /etc/nginx/sites-enabled/mjj.party
进入编辑器后按i并粘贴以下内容:
server {
listen 80;
server_name mjj.party www.mjj.party;
index index.html index.htm index.php;
access_log off;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Referer http://mjj.party;
proxy_set_header Host $host;
proxy_set_header Cookie $http_cookie;
proxy_pass http://1.1.1.1;
}
}
(其中mjj.party替换成你的网站域名, 1.1.1.1换成你的后端服务器ip)
然后 :wq回车 保存退出,重启nginx,结束。
service nginx restart
应用这个策略,可以灵活应付ddos攻击,只要注意保护后端ip不要泄露,攻击者只能打前端,而要做的只是适时的切换一个前端即可。
文章评论
原来还可以这样做,防DDOS的好办法,学习了
@胡家小子 感谢来访,确实有作用,可以考虑