wordpress安全部署方式(ZeroTrust)

前言

常规的wordprees搭建方式都是让你使用docker或本地化运行,通过端口转发,再用nginx或其他web服务实现反代理,最终达到保护源站,让wordpress实现HTTPS访问,但个人认为这样做的话是有两大风险。

  • 转发端口到公网有一定的安全隐患,容易受到第三方通过暴露端口的攻击
  • nginx等web服务上手难度较大,对于新手来说,使用nginx等相关web服务可能无法完全保护源站

所以笔者认为利用cloudflare的ZeroTrust来实现DNS服务器与源站之间的通讯是一个非常安全且对新手很友好的部署方式,其一我们可以完全不用暴露任何端口到公网上,这样就可以完美的杜绝第三方攻击者发现源站并且攻击源站,其二是不需要配置nginx,证书颁发,反代理等网络相关服务。源站与DNS服务器之间使用cloudfate的加密通讯,既保护了源站,又简化了配置流程。

此教程仅对搭建个人博客这种网络流量较小的web服务,对于其他类型的高负载网络的web服务不建议使用此方式进行配置

准备

  • 一台VPS(最好选择国外的VPS,不需要备案域名,建议配置为1G左右内存)
  • 一个可托管到cloudflare的域名

部署

先用ssh登录到VPS,下载必要的组件。这里使用的是docker来完成相关服务的搭建,相较于其他方式,docker可以少配置很多环境。

因为不暴露到任何端口到公网,所以wordpress与ZeroTrust的通讯是在vps内的局域网内进行通讯,所以得新建一个docker的局域网网段,如192.168.1.0/24 “`

登录cloudflare,选择ZeroTrust–>Networks–>Tunnels
创建一个新隧道


保持默认

命名隧道这里可随便取名,只要本人能分辨出即可

选择docker安装方式,并且把token复制下来,等会要用到

创建一个docker-compose.yml文件,往里面写入如下内容

运行下面命令创建三个容器

初始化wordpress

完成上述操作后只是创建了wordpress,mariadb,ZeroTrust的相关服务,对于wordpress还没初始化。由于设置了wordpress的端口为映射到内网环境的192.168.1.10:80上,在外网是无法通过http协议访问到wordpress进行初始化设置。(设置管理员,网站url等)
所以我们可以通过进入wordpress内部进行设置

如果遇到下面错误的话则需要在命令后加上参数--allow-root来绕过这个警告

到目前为止你已经完成了vps上面的相关配置,现在只需要完成ZeroTrust相关配置就可以正常使用wordpress了

初始化ZeroTrust

进入隧道设置界面,选择Public Hostname


设置公网访问的域名,顶级域名第一项就不需要填写下方选择http,url填写wordpress的局域网地址,因为http的默认端口为80,在这可以不用填写端口,如果不是80端口则需要在ip后面加上端口,保存稍等几分钟就可以使用域名访问到wordpress的首页了

访问https://domain.com/wp-admin/则可以进入管理页面

优化wordpress(可选)

解除wordpress默认无法上传图片

更改wordpress显示2M文件上传限制,方便安装自定义主题

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇