用阿里云构建自己的Ngrok

本文介绍了如何在阿里云CentOS系统上搭建Ngrok服务器,解决因连接官方服务器慢导致的问题。首先确保拥有阿里云主机和域名,然后参照教程安装更新Git并编译Ngrok。通过修改源代码解决访问限制,启动服务器时加入证书参数提高安全性。最后,生成适用于Windows的客户端,实现用阿里云作为Ngrok服务器进行微信开发。

最近做微信开发,发现Ngrok是个不错的工具,可惜每次连接其官方服务器都特别慢,以致最近几天出现了特别严重的链接超时。为此特别搜索了一下,在自己的阿里云主机上搭建了ngrok服务器,今后用ngrok就方便了。


前提条件:

1,有阿里云主机,我使用的是CentOS系统64位系统

2,有自己的域名,在域名服务商的DNS设置中按下文要求进行配置。


主要参考了推酷的这篇文章:

http://www.tuicool.com/articles/jY7bEvr


但是在make release-server时发现每次都在gopkg时没反应,后来查到是Git版本太老了,于是又参考Git官网文章重新安装了一下git最新版2.6:

https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git


记得按上述方法安装git前先运行   yum remove git   删除旧版本。


在make release-server时,如果遇到不能访问code.google.com的情况,可以修改源代码:

src/ngrok/log/logger.go

第5行的import语句改为:

log "github.com/keepeye/log4go"

在重新运行make release-server就可以了。


启动ngrokd时候可以参考下面的帖子,感觉推酷的那篇启动服务器端时没有加入证书参数,不太安全吧:

http://www.svenbit.com/2014/09/run-ngrok-on-your-own-server/


用上面的方式生成的ngrok客户端是linux版,要生成windows版,应该运

### 使用Django构建微信小程序后端并部署到阿里云的最佳实践 #### 1. 准备工作 为了顺利地完成整个项目,需要准备一些必要的环境和工具。确保安装了Python以及pip包管理器,并创建虚拟环境来隔离项目的依赖项。 对于数据库的选择,可以考虑使用PostgreSQL或MySQL,因为这些关系型数据库提供了更好的性能和支持更多的高级功能[^1]。 #### 2. 创建Django应用程序 通过命令行工具`django-admin startproject mysite`快速初始化一个新的Django工程,在此之后可以根据需求进一步扩展模型、视图等功能模块。针对微信小程序接口的需求特别定制API服务,通常会采用RESTful风格的设计理念,推荐使用DRF (Django Rest Framework) 来加速开发进程。 ```bash $ pip install djangorestframework ``` 接着定义数据结构(models),编写序列化类(serializers),设置路由(urls.py), 并实现具体的业务逻辑(views.py)。 #### 3. 集成微信登录认证机制 为了让用户可以通过微信账号安全便捷地访问应用,需按照官方文档指引集成OAuth2.0授权协议。这涉及到获取AppID/SecretKey等参数,并将其配置于settings.py文件内;同时还需要处理code-to-session API请求以换取openid及session_key用于后续的身份验证操作。 #### 4. 测试本地运行效果 在正式上线之前务必先进行全面的功能测试,确认各项交互正常无误后再继续下一步骤。此时可借助ngrok之类的隧道服务将localhost映射至公网地址以便调试远程调用情况。 #### 5. 上线前准备工作 当一切就绪后就可以着手规划生产环境下的架构布局了。考虑到稳定性因素建议选用可靠的云计算平台如阿里云ECS实例作为主机资源承载Web Server(Nginx/uWSGI)+Application Server(Django)+Database(Postgres/Mysql)的整体解决方案。 #### 6. 完成域名备案与SSL证书申请 在中国大陆地区提供互联网信息服务的企业必须依法办理ICP许可证,即所谓的“网站备案”。另外出于安全性考量也应当为站点配备HTTPS加密传输通道,可通过Let's Encrypt免费签发DV类型的SSL/TLS凭证。 #### 7. 自动化运维脚本编排 最后一步就是建立一套完善的持续集成(CI)/持续交付(CD)体系,利用GitLab CI/Github Actions/Jenkins等CI工具配合Ansible/SaltStack/Puppet这类配置管理和任务调度软件达成一键式自动化部署目标,从而极大降低人为失误风险的同时提高了工作效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值