近期,由于我們的阿裡前端伺服器頻頻受到惡意的流量攻擊,導緻前端nginx進入黑洞而無法正常通路公司網站。
按之前的預計方法,采用加速樂及備用全配置前端的作法,将惡意短時流量攻擊的損失時間降到最短。現将c這台機用作全配置的nginx前端,a和b前端的任何nginx配置都會通過rsync同步到c這台機器上。
部署的思路如下:
規範a和b的nginx配置目錄(用include conf.d/*來實作),在這兩個伺服器上配置一個rsync的服務端程序,然後,在c上每兩分鐘運作rsync同步程序,及時的将a和b上的nginx反映到c上面。達到全配置實時生效的效果。
配置如下:
一,a上的配置(b上相同配置)
1,安裝rsync(阿裡雲預設已有此程式)
2,生成檔案rsyncd.conf,内容如下:
3,啟動rsync程序,将之加入自動啟動
a, /usr/bin/rsync --daemon
b,在/etc/rc.local裡寫入:/usr/bin/rsync –daemon (也可以其它方式實作)
二,161上配置:
1,crontab定時同步腳本:
*/2 * * * * /usr/bin/rsync -arv x.x.x.x::hosts_sync/ /xxx/nginx/conf/conf.d/ >> /var/log/rsyncd.log 2>&1
*/2 * * * * /usr/bin/rsync -arv x.x.x.x::hosts_sync/ xxx/nginx/conf/conf.d/ >> /var/log/rsyncd.log 2>&1
2,crontab定時reload腳本(必要時可手工)
10 */2 * * * service nginx reload
三,測試
1, 檢視nginx目錄,相關檔案已生成
2, 日志生成如下: