已有域名和服务器本地调试开发微信公众号

2,111 阅读2分钟

这是我参与8月更文挑战的第14天,活动详情查看:8月更文挑战

根据微信公众平台的要求,在开发微信公众号的过程中,必须通过绑定外网域名,才能够拿到微信服务器发出的回调信息

已有域名和云服务器的童鞋,通过如下配置,可直接调试本地开发代码,省去 本地开发->上传到服务器->测试发现问题->本地修改->上传服务器 。。。 的一系列繁琐步骤。

如下:

公众号开发设置好自己的域名,验证域名成功;

本地跑起起项目服务(我用的mac自带python 可 点击这里查看

调试地址为: http://localhost:8099;

假设你的域名为 test.com;

1.修改本地host:

将 test.com 映射到 127.0.0.1 。修改/etc/hosts文件(mac系统);

2.设置本地代理转发

因为公众号开发必须80端口,所以需要将80端口转发到如上本地项目的 8099端口;

(可使用nginx 反向代理)

  1. 安装nginx;nginx 默认8080端口

  2. 配置 /usr/local/etc/nginx/nginx.conf 

server {
        listen       80;  // 监听80端口
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://127.0.0.1:8099; // 将80端口转发到 8099 端口
        }
}
  1. 此时,输入 localhost:80  应该出现本地项目中的页面;

   并且 输入 test.com   也出现本地项目中的页面

  访问的走向是:test.com:80 => 127.0.0.1:80 => 127.0.0.1:8099,也就是你的本地代码调试服务。

3、如果需要用真机调试,可以将手机与电脑连接同一个局域网络,然后在电脑开启一个抓包代理(windows用Fiddler2即可,mac可以用Charles),再将手机的wifi代理设置为你的电脑ip及8888端口。这样,在手机上访问网络时,将通过抓包代理到你的电脑上。微信访问 test.com 也将最终访问到你的本地代码调试服务。