import React, {Component, Fragment} from 'react'; import './overall.scss'; import {JFLoading} from "../../component/JFLoading/JFLoading"; import {observer,inject} from "mobx-react/index"; import {JFPageHeader} from "../../component/JFPageHeader/JFPageHeader"; import {JFContent, JFContentHeader} from "../../component/JFContent/JFContent"; import {Icon, Switch} from 'antd'; import Clipboard from 'react-clipboard.js'; import {CartesianGrid, Line, LineChart, ResponsiveContainer, Tooltip, XAxis, YAxis} from "recharts"; import {Message} from "../../common/message"; import {numberSplit} from "../../common/utils"; @inject('overallStore', 'appStore') @observer class Overall extends Component { componentDidMount() { this.props.overallStore.init(); } render() { let obj = {}; let { overallStore, appStore } = this.props; let pvData = overallStore.pvInfo .filter(({ day,flows }) => { return flows.length !== 0 }) .map(({ day,flows }) => { return { day,...(function () { obj = {}; for (let i =0; i
{ appStore.isFirstLogin ? (
配置方法
流光机概要

流光机配置在客户的WAF和负载均衡的后面,客户网站和APP后端服务器的前面。客户 需要把需要保护的页面通过负载均衡导流到流光机,流光机对进来的流量进行清洗,然后 再发送给客户网站和APP后端服务器。

部署前准备环节

1.为我们准备一台单独的服务器,用于部署我们的流光机,流光机的数量以与我们的运维人员沟通为准。服务器的硬件要求:

CPU:4核
内存:8G
硬盘:5006

2.在这台服务器上安装一些必要的软件

docker- compose version1.23.1或以上
Docker version18.09.3或以上
centos7.5或以上

3.确认这台服务器的IP.假如这台服务器的IP是192.168.0.1

4.因为我们流光机需要和外界通信,修改服务器的防火墙设置,打开如下的IP和端口

传日志,IP:47.110.92.152,Port5044
下载新的威胁情报和配置,IP:47.11184.124Port:9000

实际部署环节

5.在之前准备好的服务器中(10.20.30.40)下载我们为你们准备的3个配置文件,并 运行我们的 docker image。在运行前请确保80端口没有被占用,因为我们的服务 将默认运行在80端口。

mkdir-p/apps/software/
cd/apps/software/
curl-0 104.248.208.183: 8000/woof/docker-compose yml
curl-O104.248.208.183:8000/woof/.eny
curi-o 104.248.208.183: 8000/woof/rp-cuprops
docker login --username docker deploy user@yuntiandun registry cn
hangzhou. aliyuncs com--password fdsp3222
#如果之前运行过则执行以下命令,否则的话就跳过,直接执行下一行
docker-compose-f docker-compose yml down
docker-compose-f docker-compose yml up-d

6.修改负载均衡服务器的 Nginx配置(如果没有负载均衡服务器,则修改DNS配 置,将所有流量导向我们的流光机),把我们之前沟通过的,需要监控的流量导向 我们的流光机。将以下内容复制进你们 nginx.conf中。(以下配置仅做参考)

) : (
保护中API
{ numberSplit(overallStore.protectedApi.count) }
Top 5 API
    { overallStore.topFiveApi.map(({ count, url },index) => { return (
  • { url } { numberSplit(count) }
  • ); }) }
攻击流量
{ numberSplit(overallStore.attackFlow.count) }
{ overallStore.attackFlow.gains.indexOf('-') === -1 ? : }{ overallStore.attackFlow.gains }
总流量
{ numberSplit(overallStore.totalFlow.count) }
{ overallStore.totalFlow.gains.indexOf('-') === -1 ? : }{ overallStore.totalFlow.gains }
独立访问IP
{ numberSplit(overallStore.independentIp.count) }
{ pvData.length > 0 && ( [numberSplit(value)]}/> {/*{*/} {/*function () {*/} {/*let arr = [];*/} {/*for (let i in obj){*/} {/*arr.push()*/} {/*}*/} {/*}()*/} {/*}*/} ) }
) }
站点信息
站点名称:{ appStore.siteDetail.siteName }
站点ID:{ appStore.siteDetail.siteId }
API KEY:{ appStore.siteDetail.apiKey }
Message.success('复制完成')}>
API SECRET:{ appStore.siteDetail.secretKey }
Message.success('复制完成')}>
快速操作
拦截模式
{overallStore.toggleBlockMode(bool ? 'yes': 'no')}} />

说明:开启拦截模式后,我们将使用大数据与人工智能模型自动识别攻击,并进行相应的防范。

支持与服务
帮助中心
开发文档
联系我们
); } } export default Overall;