使用caddy服务器轻松切换站点到Https

Caddy 是一个支持 HTTP/2 的跨平台 Web 服务器,而且它也可以做反向代理但是与Nginx不一样的是,它没有刻意去追求高性能,而且另辟蹊径以打造一个简单易用的静态服务器为目标。

它的slogan之一是

Serve The Web Like It's 2017

总的来说,就是配置简单,功能多样。下面是它的一些功能,而我们今天就使用它来为普通http网站加上https支持,而且非常简单,其原理是使用了Let's Encrypt免费SSL证书来实现HTTPS,Let's Encrypt是一个免费SSL证书提供开源组织,它的证书有时间限制到期需要续期,Caddy可以自动续期

首先我们试试先安装Caddy。

打开官网进行下载:https://caddyserver.com/download,首先是选择你需要的功能特性,我们可以在这里看到caddy的功能插件是非常多的,而且可定制化类似于spring boot。这里我们只是为服务器加上Https支持,按默认配置即可, 第二步是捐赠,大家有闲钱就捐助支持下吧!

当然我们也可以不进行捐助,在第三步根据自己的系统平台下载Caddy。接下来是配置Caddy,windows和Linux等各平台下操作大致一样,有特别的地方我再说明。

Caddy的思想是可以直接把文件夹“转成”服务器,我们在任一个文件夹下执行caddy(需要添加环境变量,如果 没有添加需要带上文件路径)就能把这个文件夹转成一个服务器根目录。

windows添加环境变量:将caddy的目录添加到环境变量的path里。

Linux环境:直接添加到/etc/profile里,export  PATH="$PATH:/你的Caddy路径"

就这样服务就启动了。可是如果我们需要配置参数呢?有两种方式,一种是在命令后面加参数,一种是使用配置文件,在安装目录下新建文件直接叫Caddyfile,无后缀即可,这个就是配置文件。当然也可以把配置文件放在其他路径,启动时加参数即可

caddy -conf="/usr/local/app/Caddyfile"

在这个配置文件里,我们配置上HTTPS的支持即可,详情访问https://caddyserver.com/docs/automatic-https

 
  1. https://你的网址:端口

  2. {

  3. gzip #开启gzip压缩

  4. log /logs/caddy/access.log #访问日志的配置

  5. errors { #错误日志的配置

  6. log /logs/caddy/error.log {

  7. size 50 #50M以后,自动分割

  8. age 30 #分割文件最多保留30天

  9. keep 5 #最多保留5个分割文件

  10. }

  11. }

  12. tls **@qq.com { #启用HTTPS,并使用使用此账户自动申请Let's Encrypt的HTTPS证书

  13. protocols tls1.0 tls1.2 #设置最低和最高的https协议

  14. }

  15. proxy / http://172.11.22.130:82 { #反向代理到82端口

  16. header_upstream Host {host}

  17. header_upstream X-Real-IP {remote}

  18. header_upstream X-Forwarded-For {remote}

  19. header_upstream X-Forwarded-Proto {scheme}

  20. }

  21. }

然后我们启动服务,就配置成功了!

这里需要注意两点:

1、HTTPS使用的是443端口,如果有软件在占用需要关闭,比如SVN服务器

2、Windows上使用必须要有配置文件Caddyfile,否则无法启动

猜你喜欢

转载自blog.csdn.net/qq_34924407/article/details/82631457