这是一套部署特别方便的站点方案,包括使用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的更多相关文章

  1. 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 ...

  2. 用nginx进行同一个服务器下多域名的负载均衡配置

    用nginx进行同一个服务器下多域名的负载均衡配置 Nginx进行http负载均衡的模块是upstream Upstream可以进行多个配置,这样的话可以灵活的配置站点,但是注意的是upstream后 ...

  3. centos6 Nginx+Tomcat负载均衡配置

    一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入安装步骤 二.Nginx安装 1.下载N ...

  4. Tomcat服务部署与Nginx负载均衡配置

    一.中间键产品介绍 目前来说IBM的WebSphere,Oracle的Weblogic占据了市场上java语言Web站点的部分份额,该两种软件都是商业化的软件,由于性能优越,可靠性高等优点应用于大型互 ...

  5. Nginx负载均衡配置简单配置方法

    http://www.jb51.net/article/121235.htm Nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至不同的Web服务器.下面通过 ...

  6. Nginx + Tomcat Windows下的负载均衡配置

     Nginx + Tomcat Windows下的负载均衡配置 一.为什么需要对Tomcat服务器做负载均衡?    Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过50 ...

  7. Nginx负载均衡配置实例详解

    负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦. 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可 ...

  8. Nginx负载均衡配置实例详解(转)

    负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦. 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可 ...

  9. Nginx 负载均衡原理简介与负载均衡配置详解

    Nginx负载均衡原理简介与负载均衡配置详解   by:授客  QQ:1033553122   测试环境 nginx-1.10.0 负载均衡原理 客户端向反向代理发送请求,接着反向代理根据某种负载机制 ...

  10. 在Nginx中做负载均衡配置的实例讲解

    负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法. 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某 ...

随机推荐

  1. vue3学习第一天

    第一章 Options API与Composition API 重写双向绑定 vue2 基于Object.defineProperty()实现 vue3 基于Proxy proxy与Object.de ...

  2. MongoDB从入门到实战之MongoDB工作常用操作命令

    前言: 上一章节我们快速的在Docker容器中安装了MongoDB,并且通过Navicat MongoDB可视化管理工具快速的连接.创建数据库.集合以及添加了文档数据源.这一章节我们主要是了解一下在日 ...

  3. [深度学习] imgaug库使用笔记

    imgaug是一款非常有用的python图像增强库,非常值得推荐应用于深度学习图像增强.其包含许多增强技术,支持图像分类,目标检测,语义分割,热图.关键点检测等一系列任务的图像增强.本文主要介绍img ...

  4. Educational Codeforces Round 141 (Rated for Div. 2) A-E

    比赛链接 A 题意 给一个数组 \(a\) ,要求重排列以后 \(a[i] \neq a[1,i-1]\) ,其中 \(a[1,i-1]\) 是前 \(i-1\) 项和. 如果无解则输出 NO :否则 ...

  5. python之路25 面向对象 封装(隐藏、伪装)、多态、反射

    派生方法实战演练 import json import datetime d = { 't1': datetime.date.today(), 't2': datetime.datetime.toda ...

  6. ORM执行原生SQL语句、双下划线数据查询、ORM外键字段的创建、外键字段的相关操作、ORM跨表查询、基于对象的跨表查询、基于双下划线的跨表查询、进阶查询操作

    今日内容 ORM执行SQL语句 有时候ROM的操作效率可能偏低 我们是可以自己编写sql的 方式1: models.User.objects.raw('select * from app01_user ...

  7. Java遍历Map集合

    Java遍历Map集合简单例子 import java.util.*; public class Main { public static void main(String[] args) { Has ...

  8. 基于WebSocket的实时消息传递设计

    目录 概述 整体架构 设计 流程设计 程序设计 WebSocketServer 概述 新增pom 新增配置类 创建websocket端点 WebSocketClient 概述 安装WebSocketS ...

  9. Vue+elementui前后端分离,单个图片文件上传和上传时出现的跨域问题的解决方案

    在后端解决跨域问题: 我是通过配置文件来解决跨域问题的 @Configurationpublic class CorsConfig {//解决前后端分离的跨域问题! /** * cors suppor ...

  10. Springboot跨域配置的坑

    部分时间需要加上crossOrigin