简单粗暴的Caddy Server 使用介绍_服务器其它

Caddy是一个Go写的服务器软件,官方的宣传语“The HTTP/2 web server with automatic HTTPS”以及“Serve The Web Like It's 2016”简明表达了这个软件的优点和趋势,它拥有基本的apache或者nginx有的web server模块,同时还有一些很有特色的功能,比如:

HTTP/2
Automatic HTTPS
Multi-core
Websockets
Markdown
IPv6
Git
…...
用Caddy我们就可以很方便的部署一个Markdown文本作为静态网站访问,或者它的Git指令完成代码的自动化部署,当然它很大的特色就是它的语法非常简洁,比nginx还要简单,配置部署起来很方便,下面随便举几个例子吧。

对网站添加BasicAuth,用户名ryan,密码 12345

basicauth / ryan 12345

用CORS解决跨域问题

cors / {
    origin            http://allowedSite.com
    origin            http://anotherSite.org https://anotherSite.org
    methods           POST,PUT
    allow_credentials false
    max_age           3600
    allowed_headers   X-Custom-Header,X-Foobar
    exposed_headers   X-Something-Special,SomethingElse
}

IP过滤

ipfilter / {
    rule       block
    ip         212.10.15.0-255 213.10.15.0-10 5.23.4.24
    blockpage  /local/data/default.html
}

HTTPS 配置
tls ../cert.pem ../key.pem
实在太简单了配置起来,具体还有其他简洁到哭的指令可以看官方的User Guide,很快就刷完了。

既然Caddy自动部署https,而且是通过Let's Encrypt,那么就实践一下,本博客是用Ghost 搭建,Nginx代理的,现在就改用Caddy,并支持https,步骤大体如下:

证书申请请移步 Let's Encrypt
Caddy 安装很简单,直接下载 https://caddyserver.com/docs/getting-started
配置Caddyfile,看起来指令简洁明了

https://www.yuansir-web.com, http://www.yuansir-web.com, http://yuansir-web.com {
 redir https://yuansir-web.com{uri}
 tls yuansir88@gmail.com
}

https://yuansir-web.com {
 gzip
 errors {
  log /var/log/caddy/yuansir-web.error.log {
    size 50
    age 30
    keep 5
  }
 }
 log /var/log/caddy/yuansir-web.access.log
 tls yuansir88@gmail.com
 proxy / http://127.0.0.1:2368 {
  proxy_header X-Real-IP {remote}
  proxy_header HOST {host}
  proxy_header X-Forwarded-Proto {scheme}
 }
}

用supservisor来管理Caddy运行

[program:caddy]
command=/usr/bin/caddy -conf="/var/www/Caddyfile"
directory=/var/www  ; directory to cwd to before exec (def no cwd)
autostart=true    ; start at supervisord start (default: true)
autorestart=unexpected  ; whether/when to restart (default: unexpected)
startsecs=1     ; number of secs prog must stay running (def. 1)
startretries=3    ; max # of serial start failures (default 3)
exitcodes=0,2     ; 'expected' exit codes for process (default 0,2)
stopsignal=QUIT    ; signal used to kill process (default TERM)
stopwaitsecs=10    ; max num secs to wait b4 SIGKILL (default 10)
stopasgroup=false    ; send stop signal to the UNIX process group (default false)
user=www    ; setuid to this UNIX account to run the program
redirect_stderr=true   ; redirect proc stderr to stdout (default false)
stdout_logfile=/var/log/caddy.log  ; stdout log path, NONE for none; default AUTO
stderr_logfile=/var/log/caddyerr.log  ; stderr log path, NONE for none; default AUTO

将网站的静态资源CDN换成支持https的CDN
好了,就这么简单,Nginx切换成Caddy,并支持https了,真是多快好省。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索server
Caddy
caddy 服务器、caddy server、caddyserver、caddy server 设置404、简单粗暴,以便于您获取更多的相关知识。

时间: 2024-09-20 11:51:45

简单粗暴的Caddy Server 使用介绍_服务器其它的相关文章

流行的软件测试工具介绍_服务器其它

英文原版书籍下载:https://bitbucket.org/xurongzhong/python-chinese-library/downloadss. 精品文章推荐: python 2.7 中文教程及自动化测试介绍 使用Python学习selenium测试工具 性能测试艺术 Java单元测试之模拟利器-使用PowerMock进行Mock测试 网络工具ATC 主页 http://facebook.github.io/augmented-traffic-control/ 代码托管:https:/

ipvs模块的管理工具ipvsadm介绍_服务器其它

对ipvsadm 的命令参考,并根据自己使用的经验,进行了一个简单的翻译,希望对ipvsadm 的使用者有一定的帮助. 为了更好的让大家理解这份命令手册,将手册里面用到的几个术语先简单的介绍一下: 1,virtual-service-address:是指虚拟服务器的ip 地址 2,real-service-address:是指真实服务器的ip 地址 3,scheduler:调度方法 (lna@networksbase.com 翻译 ipvsadm v1.21 2004 年4 月) ipvsadm

Windows2003 Server 设置大全_服务器

查有无被激活:开始 -->运行--> oobe/msoobe /a-->回车,稍等一会儿,就会看到提示.如果没有激活,说明你安装的是未破解的系统,抓紧想想办法吧!如用Reset5.02激活补丁进入安全模式激活等. 一.windows server 2003 3790版本识别 RTM=release to manufacture (公开发行批量生产)是给硬件制造商的版本!是送去压盘的,不是拿去卖的.OEM=Original Equipment Manufacturer只能全新安装, 和RT

linux openssl基础介绍_服务器

    现行网上银行和电子商务等大型的网上交易系统普遍采用HTTP和SSL相结合的方式.服务器端采用支持SSL的Web服务器,用户端采用支持SSL的浏览器实现安全通信.     SSL是Secure Socket Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输.Netscape公司在推出第一个Web浏览器的同时,提出了SSL协议标准,目前已有3.0版本.SSL采用公开密钥技术.其目标是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时实现支持.目前,利用公开

磁盘阵列RAID0、RAID1和RAID5的区别和安全性介绍_服务器其它

RAID 0:无差错控制的带区组         要实现RAID0必须要有两个以上硬盘驱动器,RAID0实现了带区组,数据并不是保存在一个硬盘上,而是分成数据块保存在不同驱动器上.因为将数据分布在不同驱动器上,所以数据吞吐率大大提高,驱动器的负载也比较平衡.如果刚好所需要的数据在不同的驱动器上效率最好.它不需要计算校验码,实现容易.它的缺点是它没有数据差错控制,如果一个驱动器中的数据发生错误,即使其它盘上的数据正确也无济于事了.不应该将它用于对数据稳定性要求高的场合.如果用户进行图象(包括动画)

rsync相对于其他同步工具的优缺点介绍_服务器其它

rsync它原本是在Linux系统下面的一个文件同步协议,随着技术的发展,它也有其它版本的,如Windows和AIX.HPUX下面都有相应的版本可以支持的.Rsync这个同步工具的好处在于完全命令行下面的操作,有详细的日志文件,同时也能支持多种不同情况下的更新,例如备份式更新等,还有一个非常好的地方是,它和服务器之间可以互相同步,即可以从服务器上更新文件下来,也可以把本地的文件提交到服务器上面去.只要你配置的参数是正确的,就能完成这样的工作. 而且这个工具占用的系统资源也比较小.另外我们也试过,

简单实现Standby Sql Server数据库

一.为什么要备份数据库? 在现实IT世界里,我们使用的服务器硬件可能因为使用时间过长,而发生故障: Windows系列服务器有可能蓝屏或者感染病毒:SQL Server数据库也可能因为误操作或Bug而停止运行. 如何有效备份SQL Server数据库,避免故障真正发生时长时间的宕机,是每个系统管理员必须面对的任务. 二.简单实现Standby Sql Server 数据库的原理 我这里介绍一种不需要多大硬件投入(只需一台专用或兼用备份服务器)的Standby SQL Server的简单配置和使用

一个简单粗暴的前后端分离方案(转)

  项目背景 刚刚参加完一个项目,背景:后端是用java,后端服务已经开发的差不多了,现在要通过web的方式对外提供服务,也就是B/S架构.后端专注做业务逻辑,不想在后端做页面渲染的事情,只向前端提供数据接口.于是协商后打算将前后端完全分离,页面上的所有数据都通过ajax向后端取,页面渲染的事情完全由前端来做.另外还有一个紧急的情况,项目要紧急上线,整个web站点的开发时间只有两周,两周啊!于是在这样的背景下,决定开始一次前后端完全分离的尝试. 之前开发都是同步渲染和异步渲染混搭的,有些东西可以

.NET Web开发之.NET MVC框架介绍_实用技巧

MVC概念 MVC是一种架构设计模式,该模式主要应用于图形化用户界面(GUI)应用程序.那么什么是MVC?MVC由三部分组成:Model(模型).View(视图)及Controller(控制器). Model即应用程序的数据模型.任何应用程序都离不开数据,数据可以存储在数据库中.磁盘文件中,甚至内存中.Model就是对这些数据的抽象,不论数据采取何种存储形式,应用程序总是能够通过Model来对数据进行操作,而不必关心数据的存储形式.数据实体类就是常用的一种Model.例如,一个客户管理应用程序使