配置Caddy2使用自定义SSL证书 作者: 毕世平 时间: 2024-12-27 分类: 默认分类 前言:秋大2023年06月份便发布了基于`Caddy2`的`LCMP(Linux+Caddy2+MariaDB+PHP)`网站环境配置一键脚本,其中`Caddy2`的rpm和deb包全部由秋大维护的[Teddysun Repository](https://dl.lamp.sh/shadowsocks/ "Teddysun Repository")仓库提供。相比往日`LAMP`配置时各软件全部采用编译安装,这极大地缩短了网站环境配置所需的时间,实测`LCMP`配置可控制在10分钟以内,而之前`LAMP`配置环境则要在30分钟以内。 本文主要是参考秋大`LCMP发布文章`及`LCMP项目发布页`的说明,介绍在使用`lcmp vhost add`添加自己的网站后,怎么使用自定义的证书,以及怎么配置一个静态文件服务器。 ## 1.默认网站配置 在使用秋大的`lcmp`安装脚本安装完成后,且在使用`lcmp vhost add`添加站点之前,脚本会默认在`/etc/caddy/conf.d/`目录下放置一个`default.conf`作为网站默认配置。 # 查看默认配置文件 cat /etc/caddy/conf.d/default.conf ##################################### :80 { header { Strict-Transport-Security "max-age=31536000; preload" X-Content-Type-Options nosniff X-Frame-Options SAMEORIGIN } root * /data/www/default encode gzip php_fastcgi unix//run/php/php-fpm.sock file_server { index index.html } log { output file /var/log/caddy/access.log { roll_size 100mb roll_keep 3 roll_keep_for 7d } } } ##################################### **说明**:脚本执行完成,即配置好了网站环境,可通过访问`http://ip`访问`lcmp部署完成`的欢迎页,访问`http://ip/pma`便可访问`phpmyadmin`的数据库网页管理页面。~~(起初我还没找到,以为没有)~~ ## 2.配置使用自定义SSL证书 `Caddy2`自带申请/续更证书的功能,使用秋大的`lcmp vhost add`脚本添加完网站后,`Caddy2`便会默认对网站域名进行SSL证书的申请,那么如果想使用自己的证书,要怎么修改呢?假定你添加的站点域名是`example.com`,那么添加完站点后,`/etc/caddy/conf.d/`目录下便会出现这个站点的配置文件`example.com.conf`,只需要修改这个文件即可: ################################################################### example.com { header { Strict-Transport-Security "max-age=31536000; preload" X-Content-Type-Options nosniff X-Frame-Options SAMEORIGIN } root * /data/www/example.com encode gzip # 添加下面一行,自定义证书和key的绝对路径 tls /etc/caddy/ssl.crt /etc/caddy/ssl.key php_fastcgi unix//run/php/php-fpm.sock file_server { index index.html } log { output file /var/log/caddy/access_example.com.log { roll_size 100mb roll_keep 3 roll_keep_for 7d } } } ################################################################### **说明**:修改完成以后,重新启动caddy即可:`systemctl restart caddy` ## 3.配置静态文件服务器 秋大的配置文件里也预留了静态文件服务器的配置,要启动它的浏览功能,添加以下参数开启即可: example.com { header { Strict-Transport-Security "max-age=31536000; preload" X-Content-Type-Options nosniff X-Frame-Options SAMEORIGIN } root * /data/www/example.com encode gzip # 添加下面一行,自定义证书和key的绝对路径 tls /etc/caddy/ssl.crt /etc/caddy/ssl.key php_fastcgi unix//run/php/php-fpm.sock # 在下面一项配置里添加browse开启浏览即可,hide .*是隐藏以.开头的(隐藏)文件 file_server { hide .* browse index index.html } log { output file /var/log/caddy/access_example.com.log { roll_size 100mb roll_keep 3 roll_keep_for 7d } } } **说明**:这样修改配置以后,执行以下命令重启caddy即可:`systemctl restart caddy`,然后访问`https://example.com`即可访问到类似下图的页面: ![Snipaste_2024-12-27_12-22-28.png](https://shiping.date/usr/uploads/2024/12/2154255100.png) ## 结语 感谢秋大持续以来无私的分享,网站环境配置也能变得`So Easy`。对于`LAMP`环境配置,秋大也提供了2024年新版的脚本,详情可访问:[LAMP 一键安装脚本(2024 年新版)](https://lamp.sh/11.html "LAMP 一键安装脚本(2024 年新版)") ## 参考链接: - [LCMP 一键安装脚本文章发布页](https://teddysun.com/700.html "LCMP 一键安装脚本文章发布页") - [LCMP项目地址](https://github.com/teddysun/lcmp "LCMP项目地址") - [Teddysun Repository](https://dl.lamp.sh/shadowsocks/ "Teddysun Repository") - [LAMP 一键安装脚本(2024 年新版)](https://lamp.sh/11.html "LAMP 一键安装脚本(2024 年新版)") - [LAMP2024新版项目地址deb分支](https://github.com/teddysun/lamp/tree/deb "LAMP2024新版项目地址deb分支") 标签: none