(写于2024-06-16,2025-7-31小改)
这是写的第一篇博客,就当自己折腾服务器的记录吧,高考前可能也不会怎么折腾了(),作为服务器折腾的纯新手遇到的问题还是挺多的。
环境:
Ubuntu 22.04.1 LTS; Docker Compose version v2.27.0安装的wordpres6.5.4 ;Cloudflare解析好的域名
以下问题会同时出现:
wordpress无法发评论 显示"cannot fetch";一些主题无法保存设置;一些主题的说说,Wordpress的文章、页面的可视化编辑器、切换可视化/文本的按钮点击均无反应;区块编辑器保存失败,提示“网站已下线”等。
在百度和google一番搜索后,可能是我搜索关键词不够好,给出的解决方案里有的说要关闭全部插件,有的说要在wp-config.php文件下添加这串代码
define('CONCATENATE_SCRIPTS', false);
还有的说切换主题的。经过尝试都不行,症状仍未解决。直到看见了这篇知乎修复WordPress经典编辑器空白可视化不可用的5种方法 - 知乎 (zhihu.com),发现可能是Cloudflare的"伪"https的问题即“灵活”防火墙模式导致CDN和服务器本身仍然没有SSL链接。
因此接下来的目标就是给服务器安装证书,我首先尝试了apache2安装Cloudflare签发的证书,但是虽然apache2配置了证书("完全"模式下可以访问测试页),可是反向代理却设置不好。求助亲友之后得知Caddy可以自动配置https和简单配置反向代理!
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
之后在配置文件里简单修改即可
cd /etc/caddy
nano Caddyfile
把原来的:80修改成自己的域名 ; reverse_proxy注释取消掉,后面改成localhost:{wordpressDocker容器端口},像这样就能配置好反向代理,实现通过域名来访问docker容器。
umiarchive.moe {
# # Set this path to your site's directory.
# root * /usr/share/caddy
# Enable the static file server.
file_server
# Another common task is to set up a reverse proxy:
reverse_proxy localhost:8080
}
之后回到docker-compose.yml里面修改配置文件,让出80端口给Caddy工作(8080:80
表示将容器的 80 端口映射到主机的 8080 ,
也即主机端口:容器端口)
*其他内容*
ports:
- "8080:80"
*其他内容*
之后在防火墙开放80和443端口,重启Caddy和docker-compose文件,在Cloudflare调整防火墙模式为"完全",服务器就自动变为HTTPS,以上问题全部就解决了!
Comments NOTHING