最近又折腾上了nat小鸡,内存小、空间小,又没有80、443端口。
奈何手痒,想尝试着手搓代码安装一个小博客。
关键点就是把端口隐藏掉,利用cloudflare的Origin Rules功能来实现。
怎么搭建博客,可以参考之前的文章。https://cmsblog.cn/1023.html
本文以一个IPV4的debian11为例介绍,记录一下折腾过程。
一、安装caddy
- sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
- curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
- curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
- sudo apt update
- sudo apt install caddy.
二、安装php-fpm,sqlite
- apt install -y php php-fpm php-curl php-gd php-mbstring php-common php-xml php-xmlrpc php-gd php-sqlite3 php-mbstring sqlite3
此命令默认把apache2也安装上
执行命令禁止apache2 开机启动
systemctl stop apache2
systemctl disable apache2
debian11默认安装的应该是php7.4
编辑vim /etc/php/7.4/fpm/pool.d/www.conf
找到
user = www-data
group = www-data
改成
user = caddy
group = caddy
启动或者重启caddy和php7.4-fpm
systemctl start caddy php7.4-fpm
systemctl restart caddy php7.4-fpm
caddy与php-fpm联动
Caddy 默认的虚拟主机配置文件位于 /etc/caddy/Caddyfile。
使用以下命令编辑 /etc/caddy/Caddyfile 文件:
vi /etc/caddy/Caddyfile
删除所有行并添加以下行:
:20081 {
root * /www
encode gzip zstd
php_fastcgi unix//run/php/php7.4-fpm.sock
handle_path / {
try_files {path} {path}/ /index.php/{uri}
}
# tls /etc/ssl/caddy/513513.key /etc/ssl/caddy/513513.crt
}
已添加typecho在caddy2里的伪静态规则。
保存并关闭文件,然后重新启动 Caddy 服务以应用更改:
systemctl restart caddy
这个时候应该可以用ip+端口打开了。
把网站源码上传到/www下面就可以正常安装了。按提示修改权限。
开启SSL,并隐藏端口
首先给域名添加DNS,最重要的步骤如图,就可以隐藏掉端口号了。
直接在cf的SSL里可以申请15年有证书,以后再也没有更换证书的烦恼了。
把证书上传到/etc/ssl/caddy/下面
/etc/caddy/Caddyfile 里开启SSL即可。
评论 (0)