如何搭建 ngrok 服务器?

搭建ngrok服务器需要服务器、域名、安装git和Golang,下载源码生成自签名证书,编译并启动服务端和客户端,配置本地客户端连接服务端。

ngrok服务器搭建

如何搭建 ngrok 服务器?

ngrok 是一个反向代理工具,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道,它常用于内网穿透,使得本地服务器可以被公网访问,本文将介绍如何从零开始搭建一个 ngrok 服务器,包含详细步骤、注意事项以及常见问题解答。

一、必要条件

1、服务器:需要一台拥有公网IP的服务器,可以是云服务器或物理服务器,本次测试使用的是Ubuntu 16.04 64位系统。

2、域名:需要一个二级域名,用于生成访问链接。“weixin.yangjiace.xyz”。

3、基础环境:确保服务器已安装git、Golang等必要软件。

二、安装基础环境

需要在服务器上安装git和Golang,命令如下:

apt-get install build-essential golang mercurial git

三、下载源码并编译

使用非官方地址下载源码,修复部分包无法获取的问题:

git clone https://github.com/tutumcloud/ngrok.git ngrok
cd ngrok

四、生成自签名证书

由于不购买SSL证书,我们需要生成自签名证书并编译到客户端中:

NGROK_DOMAIN="weixin.yangjiace.xyz"
openssl genrsa -out base.key 2048
openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.pem
openssl genrsa -out server.key 2048
openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr
openssl x509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt
cp base.pem assets/client/tls/ngrokroot.crt

五、编译服务端和客户端

执行以下命令进行编译:

make release-server release-client

编译成功后,会在bin目录下生成ngrokdngrok两个文件,分别对应服务端和客户端程序。

如何搭建 ngrok 服务器?

六、启动服务端

启动ngrok服务端,指定证书和域名:

./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="weixin.yangjiace.xyz" -httpAddr=":80" -httpsAddr=":443"

七、编译客户端

根据操作系统不同,编译相应平台的客户端:

Windows平台
GOOS=windows GOARCH=amd64 make release-client
Mac平台
GOOS=darwin GOARCH=amd64 make release-client

编译完成后,将客户端下载到本地。

八、设置本地客户端

在同级目录下新建配置文件ngrok.cfg

server_addr: "weixin.yangjiace.xyz:4443"
trust_host_root_certs: false

新建启动脚本startup.bat

@echo on
cd %cd%
ngrok -config=ngrok.cfg -log=ngrok.log -subdomain=yjc 8080

双击启动脚本完成启动。

九、后台运行服务端

为了使ngrok服务端在后台运行,可以创建systemd服务:

[Unit]
Description=ngrok
After=network.target
[Service]
ExecStart=/myweb/ngrok/bin/ngrokd -tlsKey=/myweb/ngrok/server.key -tlsCrt=/myweb/ngrok/server.crt -domain="weixin.yangjiace.xyz" -httpAddr=":80" -httpsAddr=":443"
[Install]
WantedBy=multi-user.target

保存为ngrok.service,然后执行以下命令启动服务:

systemctl start ngrok.service

1. 什么是ngrok?

如何搭建 ngrok 服务器?

ngrok 是一个反向代理工具,通过在公共的端点和本地运行的Web服务器之间建立一个安全的通道,使本地服务器可以被公网访问,它常用于内网穿透。

2. 如何搭建ngrok服务器?

搭建ngrok服务器的步骤包括:安装基础环境、下载源码并编译、生成自签名证书、编译服务端和客户端、启动服务端、编译客户端、设置本地客户端、后台运行服务端,具体步骤详见上述内容。

3. 遇到的问题及解决方法?

Q1: 编译时提示找不到某些依赖包怎么办?

A1: 确保Git版本大于1.7.9.5以上,Golang版本大于1.4,可以尝试多次编译或者手动下载缺失的依赖包。

Q2: 如何配置防火墙以确保服务正常运行?

A2: 确保服务器防火墙开放80端口(HTTP)和443端口(HTTPS),以及客户端连接使用的4443端口,可以使用以下命令开放端口:

ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 4443/tcp

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1267082.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-11-06 09:12
下一篇 2024-11-06 09:20

相关推荐

  • 如何搭建一个UDP服务器?

    搭建UDP服务器的步骤包括选择编程语言、创建Socket对象、绑定IP地址和端口、接收和处理数据以及发送数据。

    2024-11-06
    012
  • 如何在MyEclipse中搭建服务器?

    在MyEclipse中搭建服务器,首先打开IDE,选择“Servers”视图。点击新建服务器,选择所需类型,如Tomcat或JBoss。配置服务器路径和端口,完成设置后保存。右键项目部署到服务器即可。

    2024-11-06
    011
  • 如何构建一个GPS服务器?

    搭建GPS服务器需准备硬件、安装操作系统与必要软件,配置网络与数据库,开发服务器端代码并部署,确保安全性和可扩展性,最后进行测试优化。

    2024-11-06
    012
  • 如何在WebStorm中搭建服务器?

    webstorm 是 jetbrains 公司开发的一款强大的集成开发环境 (ide),主要用于 web 开发,支持多种编程语言和框架。要使用 webstorm 搭建服务器,可以按照以下步骤进行:,,1. **安装 webstorm**:确保你已经安装了 webstorm。如果没有安装,可以从 jetbrains 官网下载并安装。,,2. **创建项目**:打开 webstorm,选择“create new project”来创建一个新的项目。在项目创建过程中,你可以选择项目的类型(node.js, python, etc.)以及项目的模板。,,3. **配置服务器**:根据你选择的项目类型,webstorm 可能会自动为你配置一个基本的服务器。如果你选择了 node.js 项目,webstorm 可能会使用 express 框架来创建一个基本的 web 服务器。,,4. **运行服务器**:在 webstorm 中,你可以通过点击工具栏上的绿色播放按钮或者使用快捷键(通常是 f5)来启动服务器。服务器启动后,你可以在浏览器中访问指定的 url 来查看你的应用程序。,,5. **调试服务器**:webstorm 提供了强大的调试功能,可以帮助你调试服务器端代码。你可以设置断点、查看变量值、执行表达式等。,,6. **部署服务器**:当你的应用程序开发完成后,你可以使用 webstorm 提供的部署功能将应用程序部署到远程服务器上。webstorm 支持多种部署方式,包括 ftp、sftp、ftp/s 等。,,7. **版本控制**:webstorm 集成了版本控制系统(如 git),可以帮助你管理项目的源代码。你可以使用 webstorm 的图形界面来提交更改、推送到远程仓库、拉取更新等。,,8. **插件扩展**:webstorm 支持大量的插件,可以扩展其功能。你可以安装数据库插件来连接和操作数据库,安装代码格式化插件来自动格式化代码等。,,9. **性能优化**:webstorm 提供了一些性能优化的功能,可以帮助你提高开发效率。你可以启用代码折叠、只读模式、禁用不必要的插件等。,,10. **社区支持**:jetbrains 有一个活跃的社区,你可以从中获得帮助和支持。webstorm 还提供了丰富的文档和教程,可以帮助你更好地使用这款工具。,,webstorm 是一个功能强大的开发工具,可以帮助你快速搭建和调试服务器。通过上述步骤,你应该能够开始使用 webstorm 进行 web 开发。

    2024-11-06
    06

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入