宝塔面板一个域名一个ssl完成wordpress,docker反向代理

一、前置任务

操作前,请提前准备好以下东西
1.域名和IP
2.登录阿里云控制台
3.登录宝塔面板

(一)申请ssl证书

主站肯定需要一个ssl证书,二级域名也可以加上ssl

访问阿里云数字证书管理服务

image

免费证书3个月,一年20个份额

{659E12B4-73CF-4FD8-9966-921BDAE9BBE6}

等待2-5分钟,审核通过后,点击部署下载对应的证书

(二)安全组放行端口

阿里云ECS>安全组>管理规则,放行自定义端口

{8174B16F-0300-4134-8DD3-C77B2C28749D}

(三)云解析DNS

阿里云云解析>解析设置,如果有二级域名想走反向代理,可以填域名IP

{A7693532-BD7D-42C9-BE4D-1C668C1551FB}

二、Wordpress反向代理

(一)LNMP安装

首次登录宝塔面板,宝塔面板会让你选LNMP还是LAMP,一键安装LNMP

(二)添加站点

宝塔面板>网站>PHP项目>添加站点

image

有时会碰到mysql创建失败,root密码失败,请到数据库重置一下

{3B594F9E-7616-4386-A79A-EF7BFAC90C4B}

Wordpress数据库名称、密码填提供的mysql账号密码

站点建好后,宝塔面板设置>ssl,添加刚申请的ssl证书

{9B7A50C0-FBE7-4CF4-8B26-AC44458722D5}

(三)建立静态站点

有的时候想在wordpress里放静态站点,比方说vitepress/vuepress/hugo/hexo/astro搭建的文档,博客,想和Wordpress共用一个ssl和域名,通过https://test.com/about 形式直接访问

当然静态文档更推荐大家直接部署到netlify、vercel、cloudflare pages上面。

宝塔面板网站>HTML项目>添加HTML项目,域名随便起个名称

{F9141C3B-9CE9-4301-A35F-A2E851447FB7}

宝塔面板设置>域名管理填127.0.0.1:自定义端口,不需要外网访问,注意端口提前在安全组放行

{0F2662D1-EC84-4E32-8119-32C2B504DA8D}

输入下面代码,测试是否正常工作

curl -I http://127.0.0.1:81

如果返回 200 或 301,说明 81 端口站点已经正常了;外部打不开不影响主站反代。

(四) 修改Wordpress规则

wordpress站点设置>配置,在下面代码或者location-*规则前

location / {try_files $uri $uri/ /index.php?$args;
}

添加下面代码

location = /about {return 301 /about/;
}location ^~ /about/ {proxy_pass http://127.0.0.1:81/;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;
}

{76B055B8-9A5C-46AA-B1E7-A2C0A385CDE8}

如果是VitePress等静态文旦生成工具,配置要修改根目录config.mts 或 config.js

export default defineConfig({base: '/about/'
})

三、Docker反向代理

反向代理好处是不用ip:端口号访问,直接域名跳转到指定站点

(一)安装docker应用

首次进入docker,宝塔面板会让你安装控制台;刷新后,应用商店一键安装自己想要的docker,这里以cloudreve为例

{F3C37F38-001F-4B8F-81A6-48CEB7D9B999}

打开阿里云ecs安全组,放行5212端口,可选宝塔面板>安全>放行5212端口

域名:5212方式就可以正常访问云盘了

(二)反向代理建站

docker>网站,给刚刚的docker建立网站,域名填写二级域名,比方说cloud.test.com

{EF2DDBDB-4804-48A7-88C2-8AB966A6A171}

泛域名证书的话,这里的ssl证书可以和主站ssl一致

添加cloud.test.com云解析,同时加上ssl证书,使其支持https访问

docker应用设置>反向代理,添加docker反向代理

{65BEA6DE-621C-4D42-AA1A-BE25CC50A612}