包含标签 web 的文章

动手撸个Caddy(十四)| 插件开发之自定义全局配置

在开发Caddy插件的时候,很多现成的配置可以为我们所用,这样我们插件中的某些配置就可以遵循整个Caddyfile的全局统一配置,用户体验会更好,比如使用统一的debug来控制自己开发插件的日志输出等等。 什么是全局配置 Caddyfile的全局配置和整个Caddy有关,并不局限于某……

阅读全文

动手撸个Caddy(十三)| 插件开发之Caddyfile参数

好了,通过上篇文章文章 动手撸个Caddy(十二)| 插件开发之HelloWorld 你已经学会了开发Caddy插件,可以按自己的需求来定制Caddy了,Caddy没有的功能我们也可以自己做出来。 不过相信你也发现,上个例子中浏览网页只会显示 Hello 世界 ,我们能不能改变显示的内容呢?那么这篇文……

阅读全文

动手撸个Caddy(十二)| 插件开发之HelloWorld

连载了十一篇,终于讲到了大家最关心的Caddy的插件开发。插件开发是一种提供给我们开发者定制化Caddy的能力,让我们可以根据自己的需求,通过插件的机制,扩展Caddy的功能,满足自己的需求。 在Caddy中,编写插件是非常容易的事情,这得益于Caddy模块化的架构。其实我们用到的……

阅读全文

动手撸个Caddy(十一)| Caddyfile 设计之美

Caddyfile是Caddy的核心配置文件,它的设计,关乎着我们使用,开发者的解析以及扩展,所以本篇着重的介绍Caddy是如何设计一个Caddyfile的,我们也可以从中学到如何设计一个配置文件,并且让它更好的通用,更好的解析。 其实设计如此复杂的一个配置文件,已经和设计一门编程……

阅读全文

动手撸个Caddy(十)| 一分钟搭建PHP服务器

Caddy对于反向代理的支持我们已经介绍的差不多了,这也是我们对于Nginx、Caddy最多的应用之一,也就是把他们当成一个反向代理服务器使用。 除了我们经常见到的反向代理外,还有一类应用也可以通过反向代理来实现,它就是FastCGI,比如我们经常看到的php-fpm,它就是一个用……

阅读全文

动手撸个Caddy(九)| 设置头信息实现跨域

在前端开发中,会通过 fetch 发起网络请求获取数据,然后再显示到页面上,这也就是我们常说的前后端分离。 但是受限于浏览器的同源策略, fetch 是不能跨域访问的,这时候就需要我们设置服务端响应的头信息,来达到跨域的目的,而Caddy的反向代理,天生就具备这个能力。 什么是同源策略 同源策略是浏览器的一项……

阅读全文

动手撸个Caddy(八)| 利用缓冲提升反向代理的性能

上一篇 Caddy实战(七)| 反向代理中的健康检查 已经为你介绍了Caddy如果通过健康检查,来确保一个上游(后端)服务是可用的,今天呢,就为你介绍Caddy如何通过缓冲提高反向代理的性能,降低上游服务的负载。 什么是缓冲 反向代理是客户端和后端服务之间的桥梁,所以这里面就有2个链接: 客……

阅读全文

动手撸个Caddy(七)| 反向代理中的健康检查

在上一篇文章中,我讲解了反向代理中的负载均衡,一个上游主机要想被使用到的前提:就是这该主机必须可用?那么怎么才算可用呢?这涉及到Caddy的健康检查,和Nginx的类似。 什么是健康检查 比如我们做体验,其实就是对我们自己身体做一个健康检查,判断身体是否健康。那么对于我们的上游主机服……

阅读全文

动手撸个Caddy(六)| 反向代理中的负载均衡

为了保障系统的高可用,我们需要针对重要的服务启动多个,这样当其中的一个服务出问题的时候,其他服务可以继续工作,系统就做到了高可用,这也就是负载均衡的应用。 什么是负载均衡 负载平衡(Load balancing)是一种电子计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁……

阅读全文

动手撸个Caddy(五)| 配置反向代理

我们在开发中,会经常用到反向代理,它可以把一个网络请求转发到上游。比如你写了一个Go语言的API,那么就可以通过反向代理的方式,把API暴露给调用者。 Nginx支持反向代理,性能也不错,那么使用Caddy如何配置反向代理呢? 反向代理入门 我在前面的文章 Caddy实战(一)| 托管你的……

阅读全文

最近文章

分类

标签

其它