简介

http是什么?

  • 菜鸟教程传送门

    HTTP是一个基于TCP/IP通信协议

  • 因为http在网络上传输是明文形式的,任何抓到这个传输文件的人都能看到这个包的内容,因此有了加密版http-https

    https是什么?

  • 百度百科传送门

    HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

    为何使用https?

  • 通信使用明文,内容可能会被窃听;
  • 不验证通信方的身份,因此有可能遭遇伪装;(搜索:中间人攻击!)
  • 无法证明报文的完整性,有可能已遭篡改。(通信运营商的日常修改!!)

    回到最后,Caddy是什么?

    Caddy是一个易于使用的通用web服务器。

  • 我的定义:Caddy就是一个管理https的自动化工具。

    安装教程

  • Caddy中文文档
  • 智在于行’S BLOG

安装与配置

  • 安装
    1
    curl https://getcaddy.com | bash -s personal
  • 配置
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    mkdir /etc/caddy
    touch /etc/caddy/Caddyfile
    chown -R root:www-data /etc/caddy
    mkdir /etc/ssl/caddy
    chown -R www-data:root /etc/ssl/caddy
    chmod 0770 /etc/ssl/caddy
    mkdir /var/log/caddy/
    touch /var/log/caddy/caddy.log
    chown -R root:www-data /var/log/caddy/
    chmod 777 /var/log/caddy/caddy.log
  • 将Caddy配置成一个服务
    1
    2
    # 从 github 下载 systemd 配置文件 sudo systemctl daemon-reload # 重新加载 systemd 配置
    curl -s https://raw.githubusercontent.com/mholt/caddy/master/dist/init/linux-systemd/caddy.service -o /etc/systemd/system/caddy.service
  • 打开caddy.service配置文件
    1
    2
    3
    # 打开caddy.service
    nano /etc/systemd/system/caddy.service
    # vim /etc/systemd/system/caddy.service
  • 以下三项配置选项的注释符#删除,如下:
    1
    2
    3
    CapabilityBoundingSet=CAP_NET_BIND_SERVICE
    AmbientCapabilities=CAP_NET_BIND_SERVICE
    NoNewPrivileges=true
  • 设置启动
    1
    2
    systemctl enable caddy.service # 设置 caddy 服务自启动
    systemctl status caddy.service # 查看 caddy 状态

    设置Caddyfile(重要!!!)

  • 先看入门
  • 再看文档

    启动(修改配置后重新第一次启动!)

  • 第一次启动
    1
    caddy -conf /etc/caddy/Caddyfile
  • 之后启动直接用以下方式:
    1
    2
    3
    systemctl start caddy # 打开
    systemctl status caddy # 查看状态
    systemctl stop caddy # 停止

    结语

  • 学习完这个,加上后面的frp反向代理结合有着更多的玩法哦!
  • Linux不懂的建议先学习如何使用Linux(最少nano要会吧)