返回

如何在本地环境中轻松测试微信公众号

后端

写在前面

在开发微信公众号时,经常需要在本地环境中进行测试和调试。但是,由于微信公众号需要在公网上才能访问,因此在本地开发环境中无法直接进行测试。本文将介绍如何使用穿透工具将本地开发环境中的微信公众号穿透到公网上,从而方便地进行测试和调试。

什么是 NAT 穿透

NAT 穿透,即 Network Address Translation 穿透,是一种将内网中的设备或服务暴露到公网上的技术。它通过在公网和内网之间建立一个隧道,从而实现内网中的设备或服务可以被公网上的用户访问。

穿透工具的选择

目前,市面上有许多穿透工具可供选择,常用的工具包括 ngrok、cloudflare、frp 等。这些工具的原理大致相同,都是通过在公网和内网之间建立一个隧道,实现内网中的设备或服务可以被公网上的用户访问。

使用 ngrok 进行穿透

ngrok 是一个流行的穿透工具,它可以将本地开发环境中的服务穿透到公网上。其使用非常简单,只需要在本地开发环境中运行 ngrok 命令即可。

具体步骤如下:

  1. 安装 ngrok:

    brew install ngrok
    
  2. 创建隧道:

    ngrok http 8080
    
  3. 获取公网地址:
    在命令行输出中,可以看到类似于以下的公网地址:

    Forwarding  http://d306-46-3-77-117.ngrok.io -> localhost:8080
    

使用 cloudflare 进行穿透

cloudflare 是一家知名的 CDN 服务商,它也提供了穿透功能。使用 cloudflare 进行穿透需要先注册一个 cloudflare 账号,并添加需要穿透的域名。

具体步骤如下:

  1. 注册 cloudflare 账号:
    https://www.cloudflare.com/

  2. 添加域名:
    登录 cloudflare 账号后,点击 "Add a site",添加需要穿透的域名。

  3. 配置隧道:
    在域名设置页面,找到 "Tunnels",点击 "Create a tunnel",配置隧道。

  4. 获取公网地址:
    在隧道配置页面,可以看到类似于以下的公网地址:

    https://d306-46-3-77-117.ngrok.io
    

使用 frp 进行穿透

frp 是一个开源的穿透工具,它可以将内网中的服务穿透到公网上。frp 的使用需要在公网服务器和本地开发环境中分别部署服务端和客户端。

具体步骤如下:

  1. 安装 frp 服务端:

    wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
    tar -xvf frp_0.33.0_linux_amd64.tar.gz
    mv frp_0.33.0_linux_amd64/frps /usr/local/bin/
    
  2. 安装 frp 客户端:

    wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_darwin_amd64.tar.gz
    tar -xvf frp_0.33.0_darwin_amd64.tar.gz
    mv frp_0.33.0_darwin_amd64/frpc /usr/local/bin/
    
  3. 配置服务端:

    [common]
    bind_addr = 0.0.0.0
    bind_port = 7000
    
  4. 配置客户端:

    [common]
    server_addr = 公网服务器IP
    server_port = 7000
    
  5. 启动服务端和客户端:

    frps -c /etc/frp/frps.ini
    frpc -c /etc/frp/frpc.ini
    
  6. 获取公网地址:
    在 frps 服务端的输出中,可以看到类似于以下的公网地址:

    [I] [::]:8080 -> 127.0.0.1:80
    

结语

通过使用穿透工具,我们可以将本地开发环境中的微信公众号穿透到公网上,从而方便地进行测试和调试。以上介绍了三种常用的穿透工具:ngrok、cloudflare、frp,读者可以根据自己的需要选择合适的工具。