网站整套部署方案-负载均衡配置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
nginx基本命令
检查配置
nginx -t
重启服务
nginx -s reload
2、云WAF
云WAF也需要添加证书,在使用原始的key文件和pem文件;不使用修改过的nginx的key和pem文件。
在WAF上面设置需要保护的域名,会生成一个cname记录,需要把这个cname记录添加到域名解析。
域名解析使用负载均衡的公网IP地址。
验证:
直接ping站点的域名,返回的域名信息和ip地址,均已经变成WAF的信息,真实的负载均衡公网IP地址没有显示。
四、方案优势
有一定的安全防护,部署经费低,使用云资源,开通时间短,部署方便。
网站整套部署方案-负载均衡配置Nginx+宝塔+云数据库+云WAF的更多相关文章
- nginx安装&负载均衡配置&nginx反爬虫&nginx命令
Nginx安装 wget https://nginx.org/download/nginx-1.14.0.tar.gz tar -zxvf nginx-1.14.0.tar.gz cd nginx-1 ...
- 用nginx进行同一个服务器下多域名的负载均衡配置
用nginx进行同一个服务器下多域名的负载均衡配置 Nginx进行http负载均衡的模块是upstream Upstream可以进行多个配置,这样的话可以灵活的配置站点,但是注意的是upstream后 ...
- centos6 Nginx+Tomcat负载均衡配置
一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入安装步骤 二.Nginx安装 1.下载N ...
- Tomcat服务部署与Nginx负载均衡配置
一.中间键产品介绍 目前来说IBM的WebSphere,Oracle的Weblogic占据了市场上java语言Web站点的部分份额,该两种软件都是商业化的软件,由于性能优越,可靠性高等优点应用于大型互 ...
- Nginx负载均衡配置简单配置方法
http://www.jb51.net/article/121235.htm Nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至不同的Web服务器.下面通过 ...
- Nginx + Tomcat Windows下的负载均衡配置
Nginx + Tomcat Windows下的负载均衡配置 一.为什么需要对Tomcat服务器做负载均衡? Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过50 ...
- Nginx负载均衡配置实例详解
负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦. 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可 ...
- Nginx负载均衡配置实例详解(转)
负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦. 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可 ...
- Nginx 负载均衡原理简介与负载均衡配置详解
Nginx负载均衡原理简介与负载均衡配置详解 by:授客 QQ:1033553122 测试环境 nginx-1.10.0 负载均衡原理 客户端向反向代理发送请求,接着反向代理根据某种负载机制 ...
- 在Nginx中做负载均衡配置的实例讲解
负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法. 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某 ...
随机推荐
- Wireshark网卡无法找到或没有显示的问题
问题背景 最近在处理公司内网域名解析的问题,发现配置好一个新域名在内网环境可以正常解析成内网IP,但使用深信服VPN却无法正常解析,并且其他域名使用深信服VPN可以正常解析,所以参考<内网域名解 ...
- [python] 基于diagrams库绘制系统架构图
Python的Diagrams库允许通过简单的Python代码绘制云系统架构,实现对新的系统架构进行原型设计.Diagrams的官方仓库地址见:diagrams.Diagrams的官方文档和使用示例见 ...
- [Leetcode] 寻找数组的中心索引
题目 代码 class Solution { public: int pivotIndex(vector<int>& nums) { int right=0; for(auto i ...
- [深度探索C++对象模型]trival constructor和non-trival constructor
分清楚user-declared constructor和implict default constructor 首先要知道,如果你没有自定义一个类的构造函数,那么编译器会在暗中声明一个构造器,这个构 ...
- 推荐一款在浏览器编辑`Blazor`的`IDE`
不知道是否有Blazor用户羡慕过React或者Vue用户,在一些组件库中,它们就提供了在当前的组件预览对于组件的实时编辑并且预览? 比如semi-design的这种 在比如codepen这种 由于B ...
- Aspose的jar破解文档
Aspose的jar破解文档 1.引入jar包 方式一: 1.在pom.xml配置aspose的jar包仓库 <repositories> <repository> <i ...
- Coolify系列02-从0到1超详细手把手教你上手Coolify
接着上集(Coolify系列01- 从0到1超详细手把手教你上手Heroku 和 Netlify 的开源替代方案 ),此时我们已经运行成功,如果没有成功,可以参考我的Coolify系列其他文章来解决问 ...
- 深入Typescript--02-Typescript数据类型
基本类型 一.最最基础的类型 布尔.数字.字符串类型 let bool:boolean = true; let num:number = 10; let str:string = 'hello wor ...
- 【Regex】判断密码强度的正则表达式
原文地址 https://www.cnblogs.com/younShieh/p/17082522.html 如果本文对你有所帮助,不妨点个关注和推荐呀,这是对笔者最大的支持~ 需求 最近 ...
- Stream流的特点_只能用一次-Stream流中的常用方法_map
Stream流的特点_只能用一次 Stream流属于管道流,只能被消费(使用)一次 第一个stream流调用完毕方法,数据就会流转到下一个stream上 而这时第一个stream流已经使用完毕,就会关 ...