网站整套部署方案-负载均衡配置Nginx+宝塔+云数据库+云WAF

这是一套部署特别方便的站点方案,包括使用Nginx负载均衡,宝塔部署站点,云数据库加一套安全产品云WAF。

一、结构图

1、基本功能

负载均衡,WEB,数据库都是在一个云平台上,内网都属于一个vpc二层网络。

2、安全产品

云WAf可以独立于云平台,在基本框架部署完毕后,修改CNAME记录,完成调试。在项目上线前,千万不能暴露了原有的解析地址,否则直接可以绕过WAF,直接攻击站点IP地址。

image

二、功能介绍

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文件

四、方案优势

有一定的安全防护,部署经费低,使用云资源,开通时间短,部署方便。

相关文章

Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一...
本地项目配置 1 复制 luffy/settings/dev.py为prop.py 修改l...
nginx不仅可以隐藏版本信息,还支持自定义web服务器信息 先看...
一 、此次漏洞分析 1 nginx HTTP/2漏洞 [nginx-announce] ng...
###进入nginx 目录cd /usr/local/nginx###递归显示 2 级目录...
在cmd命令窗口输入下面命令进行查看 tasklist /fi "ima...