1. 程式人生 > 其它 >網站整套部署方案-負載均衡配置Nginx+寶塔+雲資料庫+雲WAF

網站整套部署方案-負載均衡配置Nginx+寶塔+雲資料庫+雲WAF

這是一套部署特別方便的站點方案,包括使用nginx負載均衡,寶塔部署站點,雲資料庫加一套安全產品雲WAF。

一、結構圖

1、基本功能

負載均衡,WEB,資料庫都是在一個雲平臺上,內網都屬於一個vpc二層網路。

2、安全產品

雲WAf可以獨立於雲平臺,在基本框架部署完畢後,修改CNAME記錄,完成除錯。在專案上線前,千萬不能暴露了原有的解析地址,否則直接可以繞過WAF,直接攻擊站點IP地址。

二、功能介紹

1、雲資料庫

雲資料庫在相同的vpc網路,ip地址是192.168.1.4,寶塔自帶mysql資料庫,由於是效能問題,使用獨立出來的雲資料庫,只要提供雲資料庫的ip地址和賬號密碼,即可完成資料庫部署。

2、站點

站點部署在兩臺寶塔上,寶塔之間使用付費購買的同步檔案,保證兩個站點之間檔案是相同的。如果需要部署證書,可使用寶塔免費證書。
檔案同步,只能同步資料夾的資料,證書,站點名字,都需要單獨設定一樣的。

3、負載均衡

本次的負載均衡採用nginx負載,當外網訪問過來時,按照一定的規則,內網IP傳輸到兩臺web主機,實現負載功能。

4、雲WAF

雲WAF主要用來做安全防護,配置靈活,部署方便,只需要設定站點域名,WAF的分配給域名做cname解析,即可實現防護的功能

5、證書

證書部署,首先部署在寶塔的站點,解析先做在寶塔的公網ip,看下是否正確;nginx負載也需要部署證書,解析改到負載的公網ip,檢查;部署雲WAG,需要部署域名證書,不需要改解析了,只要做cname即可。

三、裝置配置

1、負載均衡

/etc/nginx/conf.d/websites.conf

http {

 gzip on;
 gzip_min_length 5k;
 gzip_buffers 16 64K;
 gzip_comp_level 6;

 client_max_body_size 25m;
 
 upstream kkk123 {
 ip_hash;
 server 192.168.1.2:80 weight=5 max_fails=3 fail_timeout=30s;
 server 192.168.1.2:80 weight=5 max_fails=3 fail_timeout=30s;
 }
 
 include /etc/nginx/conf.d/websites.conf;   

# Load configuration files for the default server block.
#       include /etc/nginx/default.d/*.conf;
}

/etc/nginx/conf.d/websites.conf

server {
        listen       80;
        listen       443 ssl ;
        #listen       [::]:80;
        server_name www.123.com;
        ssl_certificate "/etc/nginx/cert/www_123_com.pem";
        ssl_certificate_key "/etc/nginx/cert/www_123_com.key";
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

        #=========301-START===========#
      #  if ($host ~ '^shop.httx3.top'){
      #  return 301 https://www.123.com$request_uri;
      #  }
        if ( $scheme = http ){
        return 301 https://$server_name$request_uri;
        }
      #  #=========301-STOP===========#
      #  #error_page 404 /404.html;

        location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_redirect off;
        proxy_pass  http://kkk123;
        }
    }
3、nginx注意點

上傳證書key和pem時,需要修改金鑰開頭的值,否則會報錯。

key檔案
BEGIN KEY改成BEGIN PRIVATE KEY
END KEY改成END PRIVATE KEY

pem檔案
BEGIN CERTIFICATE改成BEGIN TRUSTED CERTIFICATE
END CERTIFICATE改成END TRUSTED CERTIFICATE
2、雲WAF

雲WAF也需要新增證書,在使用原始的key檔案和pem檔案。不使用修改過的nginx的key和pem檔案。

四、方案優勢

有一定的安全防護,部署經費低,使用雲資源,開通時間短,部署方便。