使用PassNAT内网穿透wordpress

运行环境

序号 性质 软件名
1 系统 CentOS8
2 服务器运维管理面板 1Panel
3 内网穿透服务 PassNAT
4 WordPress 6.8.1

注意以下基础准备不在本文展开:

  1. 如何注册PassNAT请转至官网:https://www.passnat.com/
  2. 如何下载wordpress请前往官网:https://cn.wordpress.org/download/
  3. 如何在1Panel上安装wordpress参阅:https://www.bilibili.com/opus/862797018080215120

安装FRPC

  1. 首先,创建配置文件 config.toml,并将配置文件放置在任意位置的 /frpc 目录下。
  2. 使用 docker 启动FRPC 客户端。
1
docker run --restart=always --network host -d -v [本地文件路径]/config.toml:[容器内文件路径]/frpc.toml --name frpc snowdreamtech/frpc

示例:

1
docker run --restart=always --network host -d -v /root/frpc/config.toml:/etc/frp/frpc.toml --name frpc snowdreamtech/frpc

也可以使用由Ucloud提供的国内加速镜像

1
docker run --restart=always --network host -d -v /root/frpc/config.toml:/etc/frp/frpc.toml --name frpc uhub.service.ucloud.cn/ucpublic/frpc:latest

官方文件参考:https://doc.passnat.com/docs/connection/linux

内网穿透

  1. 若您已注册好账号,登陆后点击隧道列表,来到下图所示页面后,点击创建新 隧道

image-20250519184447586

  1. 选择一个在线人数较少的节点,笔者这里以宿迁-02为例,选中后,点击下一步骤

注意:下方的节点是电信单线

image-20250519185954832

  1. 首先配置HTTP,如果没有修改过,可以直接照着图填写
    image-20250519234334960
  2. 再次添加HTTPS,点击添加端口,如果没有变动可以按照图片填写。需要注意HTTPS的服务端口没有修改过的为443,选择源站协议为HTTPS。(因为我们稍后要用面板签发的证书并让 PassNAT 以 HTTPS 回源,所以端口保持 443)

image-20250520005232704

image-20250519234908414

本地获取SSL证书

  1. 在面板里,将您需要穿透的网站添加至面板域名设置

image-20250519224139983

  1. 来到证书界面,点击申请证书

image-20250520000110671

  1. 填写相关信息后,点击确认,开始申请

ACME账户:输入一个自己邮箱账户即可

DNS账户:获取访问密钥方法参见阿里云腾讯云

image-20250520000212863

4.申请成功后,回到刚刚的网站设置界面,开启启用HTTPS开关,选择刚刚申请到的证书。

image-20250519224219307

获取配置文件

  1. 回到PassNAT隧道列表界面,点击获取配置文件。

image-20250519222701563

  1. 将获取到的配置文件复制到剪贴板

image-20250519222747251

  1. 将配置文件粘贴到前文您设置的本机目录的config.toml中。重启docker,测试是否链接正常。

image-20250519223919483

修改WordPress的站点地址

  1. 使用PHPMyAdmin连接到WordPress使用的数据库,打开wp_options表,修改siteurlhome字段为内网穿透所使用的域名。修改后测试是否可以正常的展示页面。

    如您是通过内网穿透地址进行安装的,该步骤可以跳过

image-20250520002231831

常见报错

HTTP可以正常访问,配置了HTTPS后,访问穿透网页显示您已成功创建网站,无法访问源站

答:检查PassNAT穿透配置源站协议是否为HTTPS,检查本地端口是否为443

image-20250520001544704

访问穿透地址,页面显示不正常,排版错乱

答:由于您没有修改数据库里siteurlhome的值,导致异常,可参见本文修改WordPress的站点地址部分