实时监控、数据分析!Web-Check构建你的网站健康检测系统实操方案

文章目录

    • 前言
    • 1.关于Web-Check
    • 2.功能特点
    • 3.安装Docker
    • 4.创建并启动Web-Check容器
    • 5.本地访问测试
    • 6.公网远程访问本地Web-Check
    • 7.内网穿透工具安装
    • 8.创建远程连接公网地址
    • 9.使用固定公网地址远程访问

前言

在数字化运维领域,网站稳定性保障始终是开发者和运维团队的核心课题。本文将为技术人员提供一套高效的解决方案:通过Docker在Ubuntu系统部署Web-Check检测平台,并集成Cpolar内网穿透实现全域访问能力。该方案适用于个人开发者至企业级团队的多种应用场景,显著提升网站健康监测效率。

1.关于Web-Check

为什么选择Web-Check?

它不仅能帮你深入了解网站的内部运作机制,还能帮你发现潜在的安全威胁和优化空间。

全面的信息获取:从服务器架构到安全配置,再到技术栈和性能指标,Web-Check能为你提供全方位的网站信息。

强大的安全分析:帮助你识别潜在的安全漏洞,确保网站的安全性。

优化网站性能:通过详细的性能数据,你可以找到并解决那些影响用户体验的问题。

image-20240926172443513

2.功能特点

网络基础分析 - 集成网站的IP地址、地理位置、ISP信息,以及SSL证书详情,确保连接安全。

网络架构解析 - 综合DNS记录和服务器位置信息,揭示网站的结构和全球分布。

性能与安全检测 - 评估加载速度和页面响应,检查HTTP头部安全配置和DNS安全扩展,扫描开放端口,鉴别安全风险。

交互功能审查 - 分析网站的用户交互元素,如Cookie使用、重定向行为,以及e-commerce和用户注册功能。

项目地址:GitHub地址:https://github.com/Lissy93/web-check体验地址:https://web-check.xyz

3.安装Docker

本教程操作环境为Linux Ubuntu系统,在开始之前,我们需要先安装Docker。

curl -fsSL https://get.docker.com -o get-docker.sh

然后再启动docker

sudo sh get-docker.sh

最后我们在docker容器中运行下 hello world 看一下是否安装成功。

sudo docker container run hello-world

可以看到出现了hello world,也就是说明我们已经安装docker成功,那么接下来就可以直接拉取Splayer镜像了。

image-20240910145208138

4.创建并启动Web-Check容器

接下来创建Web-Check项目文件夹并编辑 dockers-compose.yml,内容如下:

mkdir data

进入到data文件夹

cd data

创建项目文件夹

mkdir web-check

进入到web-check文件夹

cd web-check

使用nano创建docker-compose文件:

nano docker-compose.yml

在编辑器中输入下方代码后同时按下ctrl+x保存退出

version: '3.9'
services:web-check:image: lissy93/web-checkrestart: alwaysports:- '6599:3000'container_name: web-check

执行下方命令启动容器运行:

sudo docker compose up -d

image-20240925173942069

如需停止可以执行:

sudo docker compose down

经过以上过程,Dockers部署Web-Check就完成了,现在我们可以通过任何浏览器进行访问测试。

5.本地访问测试

在浏览器中输入http://localhost:6599即可,显示下图即为访问成功啦!

image-20240925174125325

我们可以在输入框中输入你要检查的网址,例如:

https://www.baidu.com

在这里插入图片描述

点击“Analyze!”按钮,即可查看网站的详细报告,对内部服务可以进行深入的分析,确保它们符合安全标准,优化性能。

在这里插入图片描述

6.公网远程访问本地Web-Check

不过我们目前只能在本地局域网内访问刚刚使用Docker部署的网站检测工具,如果不在同一个局域网下,运维人员怎么才能远程安全访问和管理位于企业内网的设备,而不需要开启额外的端口或降低防火墙的安全级别呢?我们可以使用cpolar内网穿透工具来实现无公网ip环境下的远程访问需求!

7.内网穿透工具安装

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令

sudo curl https://get.cpolar.sh | sh

d3988c619ec9a05a1474be6b32d6d69

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

image-20240927100020810

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

image-20240927100039760

8.创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:Web-Check 注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:6599
  • 域名类型:选择随机域名
  • 地区:选择China VIP

image-20240926164513714

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址(可在高级设置中配置只生成http或https一条公网地址):

image-20240926164609482

接下来就可以在其他局域网下使用上图任选其一的公网地址在浏览器中访问即可。

image-20240926165419016

可以看到成功实现用公网地址异地远程访问本地部署的Web-Check网络检测工具了!提高了内部服务的安全性和可靠性,减少因配置错误导致的问题。便于远程团队成员进行维护,提升工作效率。更保持了内网资源的隐蔽性,同时允许必要时的远程访问,平衡了安全与便携。

小结

为了方便演示,我们在上边的操作过程中使用了cpolar生成的公网地址隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时远程测试时使用。

如果有长期远程访问本地Web-Check网络检测工具或者其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来远程访问。

9.使用固定公网地址远程访问

登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择China VIP,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称,这里我填写的是mywebcheck,大家也可以自定义喜欢的名称。

image-20240926171644426

保留成功后复制保留成功的二级子域名的名称:mywebchcek,返回登录cpolar web ui的管理页面,点击左侧仪表盘的隧道管理——隧道列表,找到需要配置的隧道Web-Check,点击右侧的编辑。

image-20240926171818961

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名:mywebcheck
  • 地区:选择China VIP

点击更新(注意,点击一次更新即可,不需要重复提交)

image-20240926171911212

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名:

image-20240926171945823

然后使用这个固定公网地址在浏览器访问,可以看到访问成功啦,这样不在同一个局域网下远程的运维人员随时随地都可以使用这个网址来远程工作啦!

image-20240926172100717

通过本文的介绍,相信你已经解锁了如何使用 Docker 在 Ubuntu 系统上部署 Web-Check,并结合 Cpolar 内网穿透技术实现远程访问的技能。建议生产环境部署时配合日志审计与访问控制策略。通过技术栈的有机整合,不仅提升了网站健康管理的时效性,更为构建现代化运维体系提供了可靠的基础架构支持。实际部署需根据具体网络环境调整安全策略,建议参考官方文档进行版本适配与性能调优。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/72844.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win32汇编环境,网络编程入门之八

;在上一教程里,我们学习了简单的处理服务器返回的数据 ;在这一教程里,我们了解一下,当连接上网站后,应该发送什么数据过去的问题 ;这里有个简单的方式学习,以下是一个示例 ;我们上网的时候可以用谷歌浏览器&#xff0c…

windows 平台编译openssl

文章目录 准备环境安装perl安装NASM获取源码 源码编译配置编译 准备环境 安装perl 下载Perl 5.40.0.1 Portable zip strawberryperl 解压后设置系统环境变量 测试安装是否成功 perl --versionThis is perl 5, version 40, subversion 0 (v5.40.0) built for MSWin32-x64-m…

一文了解ThreadLocal

什么是ThreadLocal? ThreadLocal是每个线程私有的,线程可以把自己的私有数据放到ThreadLocal里面,不用担心其他线程访问到自己ThreadLocal。 通过set()方法将值存入ThreadLocal或者修改值,get()方法取出值,remove()方…

OpenWrt开发第6篇:怎么添加OpenWrt的Package-基于Raspberry Pi 4B开发板

文/指尖动听知识库-谷谷 文章为付费内容,商业行为,禁止私自转载及抄袭,违者必究!!! 文章专栏:Openwrt开发-基于Raspberry Pi 4B开发板 1.如图1所示,首先创建软件包所在的目录,在openwrt根目录中执行mkdir -p package/mypackages/helloworld命令;

常⻅CMS漏洞之一:WordPress

WordPress是⼀个以PHP和MySQL为平台的⾃由开源的博客软件和内容管理系统。WordPress具有插件架构和模板系统。截⾄2018年4⽉,排名前1000万的⽹站中超过30.6%使⽤WordPress。 WordPress是最受欢迎的⽹站 内容管理系统。全球有⼤约30%的⽹站(7亿5000个)都是使⽤WordP…

【第17节】windows sdk编程:线程与线程调度

目录 一、线程 1.1 线程的基本概念 1.2 何时创建线程 二、线程控制 三、遍历线程 四、线程内核对象 4.1 线程上下文 4.2 暂停次数 4.3 信号 五、线程调度 5.1 什么是线程优先级 5.2 进程优先级与相对线程优先级 5.3 编程改变优先级 5.4 动态优先级的概念 一、线程…

Python数据可视化实战:从基础图表到高级分析

Python数据可视化实战:从基础图表到高级分析 数据可视化是数据分析的重要环节,通过直观的图表可以快速洞察数据规律。本文将通过5个实际案例,手把手教你使用Python的Matplotlib库完成各类数据可视化任务,涵盖条形图、堆积面积图、…

【机器学习-分类算法】

比如将一张图片按尺寸识别分类为横向或者纵向两类就是二分类问题 设x轴为图像的宽、y轴为图像的高,那么把训练数据展现在图上就是这样的: 若增加更多的数据集有: 如果只用一条线将图中白色的点和黑色的点分开,那么: 分类的目的就是找到这条线,就可以根据点在线…

Compose Indication:点击效果设置

Compose Indication:打造独特点击效果的秘密武器 在Compose开发中,大家可能都碰到过Indication,不少人第一次接触它,是在想去掉Material默认的点击水波纹效果的时候。要是在AI工具里搜“怎么去掉水波纹效果”,会得到这…

Docker build 会在本地产生巨大的文件

Docker build 会在本地产生巨大的文件, 比如 用 这个命令列出本地镜像 docker images 可见size都是很大的, 到docker目录下,看到ext4.vhdx的大小 80多G 那只能用这个命令把不用的镜像删掉了: (rmi后面是镜像id&a…

台式机电脑组装---电脑机箱与主板接线

台式机电脑组装—电脑机箱与主板接线 1、机箱连接主板的跳线一般主要有USB 2.0、USB 3.0、前置音频接口(HD_AUDIO)以及POWER SW、RESET SW、POWER LED、HDD LED四个主板跳线,这些跳线分别的含义如下。 RESET SW:机箱重启按键;注&#xff1a…

【虚幻引擎UE5】SpawnActor生成Character实例不执行AI Move To,未初始化AIController的原因和解决方法

虚幻引擎版本:5.5.4 问题描述 刚创建的Third Person项目里,定义一个BP_Enemy蓝图,拖拽到场景中产生的实例会追随玩家,但SpawnActor产生的实例会固定不动。BP_Enemy蓝图具体设计如下: BP_Enemy的Event Graph ​​ 又定义…

跨平台RTSP高性能实时播放器实现思路

跨平台RTSP高性能实时播放器实现思路 目标:局域网100ms以内超低延迟 一、引言 现有播放器(如VLC)在RTSP实时播放场景中面临高延迟(通常数秒)和资源占用大的问题。本文提出一种跨平台解决方案,通过网络层…

HTTP 失败重试(重发)方案

在 Qt 网络开发中,使用 QNetworkAccessManager 进行 HTTP 请求时,可能会遇到网络超时、服务器错误等情况。为了提高请求的可靠性,可以实现 HTTP 失败重试(重发) 机制。下面介绍几种常见的 失败重发方案: 单…

大白话详细解读React框架的diffing算法

1. Diffing 算法是什么? Diffing 算法是 React 用来比较虚拟 DOM(Virtual DOM)树的一种算法。它的作用是找出前后两次渲染之间的差异(diff),然后只更新这些差异部分,而不是重新渲染整个页面。 …

【Linux内核系列】:动静态库详解

🔥 本文专栏:Linux 🌸作者主页:努力努力再努力wz 💪 今日博客励志语录: 有些鸟儿是注定是关不住的,因为它们的每一片羽翼都沾满了自由的光辉 ★★★ 本文前置知识: 编译与链接的过程…

深度解读DeepSeek部署使用安全(48页PPT)(文末有下载方式)

深度解读DeepSeek:部署、使用与安全 详细资料请看本解读文章的最后内容。 引言 DeepSeek作为一款先进的人工智能模型,其部署、使用与安全性是用户最为关注的三大核心问题。本文将从本地化部署、使用方法与技巧、以及安全性三个方面,对Deep…

【详细解决】pycharm 终端出现报错:“Failed : 无法将“Failed”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

昨天在终端一顿操作后突然打开pycharm时就开始报错: 无法将“Failed”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1 Failed to act…

【电路笔记】-D型触发器

D型触发器 文章目录 D型触发器1、概述2、主从D触发器3、使用D型触发器进行分频4、D触发器作为数据锁存器5、透明数据锁存器6、总结D型触发器是一种改进的置位-复位触发器,通过增加一个反相器来防止S和R输入处于相同的逻辑电平。 1、概述 D型触发器克服了基本SR NAND门双稳态电…

智慧共享杆:城市智能化管理的 “多面手”

智慧共享杆:城市智能化管理的 “多面手” 在智慧城市建设的进程中,智慧共享杆凭借其多功能与集约化的特性,逐渐成为城市基础设施建设领域的重点关注对象。它不仅革新了传统路灯杆的固有模式,更为城市的高效管理与便捷服务开创了全…