工具链和其他-Web服务器和实例caddy

news2024/11/15 23:50:19

目录

web服务器介绍

web服务器需要哪些能力?以caddy为例

 web server(用户发请求它返回网页)

代理(proxy)

 缓存(cache)

日志(logging)

 API网关(api gateway)

TLS终结(TLS termination)

代表

实战caddy web server

Caddy

代理 

总结


web服务器介绍

web服务器需要哪些能力?以caddy为例

 web server(用户发请求它返回网页)

代理(proxy)

 缓存(cache)

日志(logging)

access_log:用户访问产生的日志;

记录访问时间、访问网址、ua、ip等等

error_log:错误日志

用来监控和报警,比如访问日志突然有大的波动,可能是后面的服务挂了

错误日志突然上升那就是服务有问题了

 API网关(api gateway)

不同设备访问途径->配置缓存->分发

API集成,API分发,API安全控制

TLS终结(TLS termination)

 可以终止https协议,内部使用其他协议 如tcp

代表

  • apache(基本不用了)
  • nginx
  • caddy(go语言写的)

实战caddy web server

Caddy

  • Go语言写的开源高性能https服务器
  • 提供命令行工具、配置文件和管理API
// cmd:
vim CaddyFile
localhost
www.test1.com
respond "Hello"
// 文件路径
root * ./static
// 访问文件
file_server browse
// caddy提供自签名证书
tls internal 
// 代理
// 反向代理访问www.test1.com实际访问的是 localhost:3000
reverse_proxy localhost:3000 localhost:3001  // 写2个有负载均衡的效果
// 代理场景2:www.test1.com/api1
route /api1* {
    uri strip_prefix /api1
    # /api1/1 -> /1
    reverse_proxy localhost:3000
}

caddy简介及配置:caddy简介及配置 - 简书

代理 

const express = require('express')
const app1 = express()
const app2 = express()
app1.get('/', (req, res) =>{
  res.send("app1")
})
app2.get('/', (req, res) => {
  res.send("app2")
})
app1.listen(3000)
app2.listen(3001)

总结

  • web服务器有哪些的能力?
  1. 静态资源托管
  2. 给用户返回数据
  3. 作为一个负载均衡器
  4. 反向代理
  5. 日志
  • Caddy配置起来方便吗?

目前使用的配置最方便的

tls 自签名证书

配置文件用起来方便

内部动态改配置

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

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

相关文章

机器视觉实用工具集NO.18——使用YOLO8实时检测物体,性能爆棚

目录 前言安装YOLO8安装YOLO8的模型程序源代码总结 前言 安装了pytorch框架以后,就可以玩一些开源的深度学习框架了,比如YOLO8,是基于pytorch框架的,关于如何安装pytorch框架,可以参考上篇文章链接《pytorch深度学习框…

我看看哪个靓仔还没把Github Copilot用起来?

本人经常分享有价值的生产力工具、技术、好物与书籍,可关注同名公众🐭并设为🌟星标,第一时间获得更新 Github Copilot 是一个AI编程助手,其使用 OpenAI CodeX 在你的编辑器中实时建议代码或给你实现整个功能。 视频版介…

C++基础 类的自动转换和强制类型转换

参考 C Primer Plus (第6版) 类自动转换 接受一个参数的构造函数允许使用赋值语法将对象初始化一个值 Classname object value; 等价于 ClassName object(value); 等价于 ClassName object ClassName(value); 只有接受一个参数的构造函数才能作为转换构造函数(某类型->…

windows下开发ffmpeg(亲测可用)下载FFmpeg的源码、库、链接文件(二)

1,首先安装opencv在clion下的使用 参见我的另外一篇文章Windows上使用CLion配置OpenCV环境,亲测可用的方法 2,亲测可以用,建议使用迅雷下载ffmpeg(全部的包都有) Windows10 下 CLion 配置 FFmpeg 开发环境 3,参考文章,碰到系统提示缺少.dll库,问题解决 参考文章1:…

HCIA-RS实验-STP和RSTP(1)

这篇文章开始前,先简单说下这2个协议; 本文介绍了STP和RSTP的基本原理、优缺点以及应用场景。STP和RSTP都是生成树协议,主要作用于避免网络中的环路,保证数据包能够正常转发。在实际应用中,需要根据实际情况选择合适的…

6.MapReduce(1)

本章节将分为InputFormat,split,OutputFormat三个小章节来介绍框架原理 1.InputFormat 1.1 切片: 将输入数据分成几份,每份交给一个MapTask去处理(getSplit方法) 对于MapRedcue,切片发生在客户端,任务提交的时候 机制:MapTask并行度决定机制 切了多少片,就开启多少个M…

颠覆世界的“数字孪生”到底是什么?这篇文章带你搞懂全部内涵!

在春节很火的电影《流浪地球2》中,已经去世的小女孩图丫丫,被她的父亲重新将其个人的信息模型导入最强大的计算机而“复活”了。屏幕中的丫丫就是一个数字孪生体。我们可以看到她的一颦一笑,听到她跟你的对话,看到她做出反应。这就…

【细读Spring Boot源码】启动步骤

前言 版本:spring-boot-2.7.3 | spring-context-5.3.22 main函数 直接使用静态函数启动 public static void main(String[] args) {SpringApplication.run(SettlleApplication.class, args); }静态帮助程序,可用于使用默认设置从指定源运行SpringAppli…

港联证券|人民币大消息!美科技股涨嗨,微软一夜暴增超万亿!

当地时间26日,美股三大股指收盘涨跌纷歧。到收盘,道指报33301.87点,下跌0.68%;标普500指数报4055.99点,下跌0.38%;纳指报11854.35点,上涨0.47%。 榜首共和银行大跌29.75%,该股昨天大…

SuperMap iClient3D for Cesium 构建隧道

背景 前段时间看到一篇构建隧道的文章(https://blog.csdn.net/supermapsupport/article/details/128453116),突然想到一个使用场景:隧道通常是建在山体下面,是否可以通过这种方式构建出一条贯穿山体的隧道&#xff0c…

mysql如何加行锁

一、概述 InnoDB 引擎是支持行级锁的,而 MyISAM 引擎并不支持行级锁,所以后面的内容都是基于 InnoDB 引擎的。当我们使用delete、update进行数据库删除、更新的时候,数据库会自动加上行锁。但是,行锁有时也会失效。 数据库版本&a…

正则表达式 - 边界

目录 一、零宽断言 二、行的开始和结束 1 . ^ 与 $ 2. dotall 模式 三、单词边界和非单词边界 1. 统计某个单词出现的次数 2. 统计单词个数 四、主题词的起始与结束位置 五、使用元字符的字面值 六、在段首加标签 一、零宽断言 断言(assertions&#xff0…

颜色选择器vue3-colorpicker

其他选择器:一款支持vue3 的颜色选择器 | ColorPickerV3基于vue3的颜色选择器支持颜色透明度与rgba、hexhttps://colorpickerv3.wcrane.cn/guide/#%E7%89%B9%E7%82%B9 这个选择器也挺好看的, 只是貌似不能外部打开选择器面板 官网:Webpack Ap…

第五章:多表查询

一、笛卡尔积的多表查询 1.案例 查询员工名为’Abel’的员工在哪个城市工作? 2.出现笛卡尔积(交叉连接)的错误 select employee_id, department_name from employees,departments为什么出现2889条记录? Employees 107 Departments 27 …

Python 一元线性回归模型预测实验完整版

一元线性回归预测模型 实验目的 通过一元线性回归预测模型,掌握预测模型的建立和应用方法,了解线性回归模型的基本原理 实验内容 一元线性回归预测模型 实验步骤和过程 (1)第一步:学习一元线性回归预测模型相关知识。 线性回归模型属于…

如何高质量的提问题让chatgpt更明白我们的意图

如何更好地向 ChatGPT 提问 ChatGPT是一款基于深度学习的人工智能语言模型,用户可以通过文本输入向其提问并获得自然语言回答。以下是如何更好地向ChatGPT提问的几个建议: 确定问题类型。ChatGPT的训练数据源广泛,支持各种类型的问题&#x…

[INFOCOM 2019] NeuralWalk:使用神经网络的在线社交网络中的信任评估

NeuralWalk: Trust Assessment in Online Social Networks with Neural Networks | IEEE Conference Publication | IEEE Xplore 摘要: 评估信任社交网络(TSN)中用户之间的信任是许多应用中的关键问题,例如电影推荐,…

buuctf5

目录 [极客大挑战 2019]BabySQL [极客大挑战 2019]PHP 神秘龙卷风 假如给我三天光明 后门查杀 webshell后门 [极客大挑战 2019]BabySQL 1. 发现存在sql注入 2.使用bp用fuzz字典爆破一下哪些词被过滤了,发现or,select等都被过滤了 尝试双写注入 3.…

Vue.js 框架能力的官方认证

这两天Vue官方推出了Vue.js 认证计划。 即框架能力官方认证,即 Vue.js 框架能力证书。该认证由 Vue School 与 Vue.js 团队合作提供支持。官网:Vue.js - Official Certification Program 官方介绍此次的试题集和代码挑战由 Vue.js 核心团队审核&#xff…

docker 安装 datax和datax-web 之 datax-web登录时提示账号或密码错误

docker 安装docker 安装 datax和datax-web 安装教程地址: https://www.cnblogs.com/leihongnu/p/16612273.html 根据该博客的教程安装成功后,登录页面能打开,但是所提供的账户密码一直报错,这个就需要根据日志一步步去寻找原因了…