动手撸个Caddy(十四)| 插件开发之自定义全局配置
在开发Caddy插件的时候,很多现成的配置可以为我们所用,这样我们插件中的某些配置就可以遵循整个Caddyfile的全局统一配置,用户体验会更好,比如使用统一的debug来控制自己开发插件的日志输出等等。 什么是全局配置 Caddyfile的全局配置和整个Caddy有关,并不局限于某个指令、请求等。在Caddy中有一些配置使用了默认的配置,但是Caddy
专注于Android、Java、Go语言(golang)、移动互联网、项目管理、软件架构
共 80 篇 · 全部标签
在开发Caddy插件的时候,很多现成的配置可以为我们所用,这样我们插件中的某些配置就可以遵循整个Caddyfile的全局统一配置,用户体验会更好,比如使用统一的debug来控制自己开发插件的日志输出等等。 什么是全局配置 Caddyfile的全局配置和整个Caddy有关,并不局限于某个指令、请求等。在Caddy中有一些配置使用了默认的配置,但是Caddy
最近需要对NodeJS中的调用进行链路跟踪,所以需要使用Jaeger进行跟踪,这里我们选用的是阿里云ARMS中的Jaeger链路跟踪,但是在Golang项目中使用没问题的链路跟踪,却在NodeJS踩了个大坑。 什么是Jaeger Jaeger 是用于追踪分布式服务之间事务的开源软件。它用来监控复杂的微服务环境并对其进行故障排除。它实现了OpenTracing API,非常好用,同时它也是
前段时间Info约稿,在文章中我提到了一个可以提升自己能力的办法:就是研究开源项目,这也是我一直实践的。 夜深人静的时候,我会打开电脑,研究一些开源项目,这不最近在研究的时候发现一个开源项目使用到了一个很不错的Go语言库:go-humanize。 这是一个「人性化」的Go语言库,人性化的意思不是形容这个Go语言库,而是
Go是一种非常不错的编程语言。它是一种让你真正的关注自己的业务,不必为程序本身操心太多的语言,因此您可以尽快编写应用程序。比如它有比较完整的生态系统,可为你提供入门所需的一切。 但是呢,它也不是万能的,有一些需要我们注意。我写这篇文章主要是为了提醒我自己,也是一些观察和总结。当然,
好了,通过上篇文章文章 动手撸个Caddy(十二)| 插件开发之HelloWorld 你已经学会了开发Caddy插件,可以按自己的需求来定制Caddy了,Caddy没有的功能我们也可以自己做出来。 不过相信你也发现,上个例子中浏览网页只会显示 ,我们能不能改变显示的内容呢?那么这篇文章呢,就带你实现一个可以通过Caddyfile配置显示内容的HelloWorld插件。 Unmarshaler接口 要想
连载了十一篇,终于讲到了大家最关心的Caddy的插件开发。插件开发是一种提供给我们开发者定制化Caddy的能力,让我们可以根据自己的需求,通过插件的机制,扩展Caddy的功能,满足自己的需求。 在Caddy中,编写插件是非常容易的事情,这得益于Caddy模块化的架构。其实我们用到的很多指令功能,都是Caddy基于插件实现,这些官
Caddyfile是Caddy的核心配置文件,它的设计,关乎着我们使用,开发者的解析以及扩展,所以本篇着重的介绍Caddy是如何设计一个Caddyfile的,我们也可以从中学到如何设计一个配置文件,并且让它更好的通用,更好的解析。 其实设计如此复杂的一个配置文件,已经和设计一门编程语言,很接近了。 结构 我前面的系统文章中,你也看到
Caddy对于反向代理的支持我们已经介绍的差不多了,这也是我们对于Nginx、Caddy最多的应用之一,也就是把他们当成一个反向代理服务器使用。 除了我们经常见到的反向代理外,还有一类应用也可以通过反向代理来实现,它就是FastCGI,比如我们经常看到的php-fpm,它就是一个用于解释php文件的fastcgi。 对于PHP的支持,Caddy的reverseproxy完全可以支持,但是配置
在前端开发中,会通过 发起网络请求获取数据,然后再显示到页面上,这也就是我们常说的前后端分离。 但是受限于浏览器的同源策略, 是不能跨域访问的,这时候就需要我们设置服务端响应的头信息,来达到跨域的目的,而Caddy的反向代理,天生就具备这个能力。 什么是同源策略 同源策略是浏览器的一项非常重要的安
上一篇 Caddy实战(七)| 反向代理中的健康检查 已经为你介绍了Caddy如果通过健康检查,来确保一个上游(后端)服务是可用的,今天呢,就为你介绍Caddy如何通过缓冲提高反向代理的性能,降低上游服务的负载。 什么是缓冲 反向代理是客户端和后端服务之间的桥梁,所以这里面就有2个链接: 客户端到Caddy代理服务的链接 Caddy代