如何搭建 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

相关推荐

发表回复

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

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