从零开始构建“ngrok”

从零开始构建“ngrok”

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

本文介绍了如何使用开源工具(NGINX、Kubernetes、Docker和OpenSSH)创建自托管的隧道,解决开发中固定URL的问题。通过Docker配置OpenSSH和NGINX,开发者可以将本地服务器流量转发到自定义域名,从而提高开发效率并确保隐私安全。

🎯

关键要点

  • 本文介绍了如何使用开源工具(NGINX、Kubernetes、Docker和OpenSSH)创建自托管的隧道。
  • 使用ngrok可能会因为成本、许可或隐私问题而不理想。
  • Woovi开发了一个Shopify支付应用,需要在开发过程中使用固定URL。
  • 使用ngrok时,每个开发者生成的唯一URL导致了重新提交审核的延迟。
  • 通过创建解决方案,开发者可以将本地服务器转发到一致的自定义域名,节省时间并改善开发流程。
  • 第一步是创建一个包含OpenSSH和NGINX的Docker镜像。
  • Dockerfile配置了SSH和NGINX,并暴露了22和80端口。
  • nginx.conf配置将所有HTTP请求转发到本地服务的5001端口。
  • 使用SSH远程端口转发命令将请求从远程服务器转发到本地机器。
  • 结合NGINX、OpenSSH和Docker,创建了一个自托管的ngrok替代方案,适合注重隐私的开发者。

延伸问答

如何使用开源工具创建自托管的隧道?

可以通过结合使用NGINX、Kubernetes、Docker和OpenSSH来创建自托管的隧道。

使用ngrok的主要问题是什么?

使用ngrok的主要问题包括成本、许可和隐私问题,以及每个开发者生成的唯一URL导致的审核延迟。

如何配置Docker以使用OpenSSH和NGINX?

需要创建一个Docker镜像,安装OpenSSH和NGINX,并配置Dockerfile以暴露22和80端口。

如何将本地服务器流量转发到自定义域名?

可以使用SSH远程端口转发命令,将请求从远程服务器转发到本地机器,确保流量通过自定义域名。

这个自托管的ngrok替代方案适合哪些开发者?

这个自托管的ngrok替代方案适合注重隐私的开发者和需要固定URL的团队。

如何配置nginx.conf以转发HTTP请求?

在nginx.conf中配置server块,监听80端口并将所有请求转发到本地服务的5001端口。

➡️

继续阅读