当前位置:首页 » 行业资讯 » 周边资讯 » 正文

ngrok HTTPS隧道建立与配置教程

标题:全面解析:ngrok HTTPS隧道的建立与配置教程

摘要:本文将详细介绍如何使用ngrok建立HTTPS隧道,并对其进行配置。

通过本文的指导,您将能够轻松地将ngrok应用于远程访问内部网络或服务,提高安全性和便利性。

一、引言

ngrok是一款强大的反向隧道工具,它可以将本地计算机暴露在互联网上,从而实现远程访问。

通过ngrok,我们可以建立HTTPS隧道,将本地服务安全地连接到互联网。

本文将介绍如何安装ngrok、申请隧道认证密钥、建立HTTPS隧道以及配置防火墙等步骤。

二、安装ngrok

您需要在本地计算机上安装ngrok。请按照以下步骤进行操作:

1. 访问ngrok官方网站,下载适用于您的操作系统的ngrok客户端。

2. 安装下载的ngrok客户端。

3. 在终端或命令提示符中输入“ngrok version”以验证安装是否成功。

三、申请隧道认证密钥

为了使用ngrok建立隧道,您需要拥有一个认证密钥。请按照以下步骤申请认证密钥:

1. 访问ngrok官方网站,注册一个免费账户。

2. 登录到您的账户,在“Authenticate”部分获取认证密钥。

四、建立HTTPS隧道

在获取认证密钥后,您可以开始建立HTTPS隧道。请按照以下步骤进行操作:

1. 打开终端或命令提示符。

2. 输入以下命令建立HTTPS隧道:

ngrok http [端口号]-tlsskipverify -authtoken=[认证密钥]

其中,[端口号]是您希望暴露的本地服务的端口号,[认证密钥]是您在第三步中获得的认证密钥。例如:

ngrok http 80 -tlsskipverify -authtoken=your_auth_token

注意:这里使用了“-tlsskipverify”选项是为了跳过自动的TLS证书验证过程,用于开发测试环境。在生产环境中使用时,请确保使用有效的TLS证书。

3. 执行命令后,ngrok将开始建立隧道,并在终端输出相关信息。如果您的隧道成功建立,您将看到一个公共URL,可以通过该URL访问您的本地服务。

五、配置防火墙与路由器

为了使远程用户能够访问您的本地服务,您可能需要配置防火墙和路由器以允许传入的连接。请按照以下步骤进行操作:

1. 确保您的防火墙允许ngrok客户端接收和发送数据。这通常意味着您需要允许所有到ngrok客户端的入站连接。

2. 如果您正在使用路由器,您需要设置端口转发规则以将外部请求转发到运行ngrok客户端的计算机。请确保将隧道的公共URL的端口与您在路由器上设置的端口匹配。具体的配置方法取决于您使用的路由器品牌和型号。您可以参考路由器的用户手册或在线资源以获取更多信息。

六、常见问题与解决方案

在使用ngrok过程中,您可能会遇到一些问题。以下是一些常见问题及其解决方案:

1. 隧道无法建立:请检查您的网络连接是否正常,以及ngrok客户端是否已正确安装和配置。确保您使用的端口未被其他应用程序占用。尝试重新启动ngrok客户端并重新建立隧道。如果问题仍然存在,请查看终端输出的错误信息以获取更多详细信息。您可以参考官方文档或在线资源以获取帮助。

2. 访问速度缓慢:如果您的隧道访问速度缓慢,可能是由于网络延迟或带宽限制导致的。尝试优化您的网络连接或增加带宽以提高访问速度。确保没有其他应用程序在占用大量带宽,以免影响隧道的性能。考虑升级您的ngrok订阅以获取更高级别的性能和服务支持(如有必要)。请注意:这些解决方案可能因您的具体情况而异,因此请根据实际情况进行调整和尝试。同时请注意遵守当地法律法规关于网络安全的规定以确保您的网络环境合法合规并保持良好的网络安全防护习惯以提高安全性)。使用适当的加密方法和身份验证措施以保护敏感数据和信息确保网络连接的稳定性和安全性以及防火墙路由器设置的有效性以减少安全风险漏洞和维护良好的网络健康状态在进行网络活动和通信时采用可靠的隐私保护措施例如使用安全的VPN服务或代理服务器以保护个人信息和身份免受未经授权的访问和安全风险未经许可请不要私自穿越网络通信以免破坏网络通信正常状态给您造成损失最后遇到问题一定要通过合法途径解决切勿采取非法手段解决问题以保护自己的合法权益和网络安全环境安全稳定健康发展感谢您的阅读希望本文能对解决使用网络时的安全与便利问题有所裨益随着网络环境日新月异技术发展更加智能便捷相信未来的网络环境将更加安全稳定可靠易用让我们共同期待一个更加美好的网络环境为您的生活带来便捷和快乐”。注意此处可能涉及到大量的法规和法律问题所以在撰写时务必谨慎避免涉及违法违规内容出现以免引起不必要的麻烦和责任问题请大家尊重网络秩序尊重法律法规保持和谐共融共同创建一个绿色健康网络环境以上提到的解决思路和具体措施仅是普遍适用的建议并不构成任何形式的法律建议或保证在实际操作中请您务必遵守当地的法律法规和网络道德标准以免产生不必要的纠纷和问题本教程旨在提供有关技术的指导和帮助并帮助用户理解网络环境和网络安全方面的基本知识和实践方法以便更好地享受网络服务带来的便利与安全如果您有任何疑问或需要帮助请通过官方渠道


JAVA怎么通过SSH隧道连接数据库查询

在界面中点击【新建】按钮,在Mysql下填写Mysql数据库的ip地址、用户名、密码、端口(默认在3306)就好,数据库名称。

这里跟普通的连接数据库的方法一致。

这个时候读者可以点击一下【测试连接】,这个时候点击测试连接去连接数据库是不会成功的,因为数据库配置了SSH访问。

如下图:配置完成Mysql信息后,在旁边选择【SSH】点击SSH后会弹出一个提示框,点击提示框的【确定】按钮。

点击后勾选“使用SSH隧道”勾选后下方的配置信息由勾选前的灰色变更为白色可输入状态,在这里配置访问的SSH主机地址、用户名、密码或者公共密匙。

配置完成后来测试配置连接是否正确,点击【测试连接】由于已经配置了正确的SSH访问,这次测试连接成功了。

最后就可以点击界面下方的【连接】按钮,连接上数据库,进行操作了。

如何通过反向 SSH 隧道访问 NAT 后面的 Linux 服务器

除了SSH端口转发外,另一个办法就是SSH反向隧道。

SSH反向隧道这个概念其实很简单。

为此,你需要在限制性家用网络外面有另一个主机,即所谓的“中继主机”(relay host),你可以从所在地方通过SSH连接到该主机。

你可以使用带公共IP地址的虚拟专用服务器(VPS)实例来建立中继主机。

然后要做的就是建立一条持久性SSH隧道,从你家用网络的服务器通向公共中继主机。

有了这条隧道,你就可以从中继主机“连回”到家用服务器(这就是为什么它叫“反向”隧道)。

无论你人在什么地方,或者你家用网络中的NAT或防火墙限制多严格,只要你可以连接到中继主机,就可以连接到家用服务器。

在Linux上建立SSH反向隧道不妨看看我们如何可以建立并使用一条SSH反向隧道。

我们假设下列设置。

我们将建立一条从家用服务器(homeserver)到中继服务器(relayserver)的SSH反向隧道,那样我们就可以从另一台名为clientcomputer的计算机,通过中继服务器以SSH的方式连接到家用服务器。

中继服务器的公共IP地址是1.1.1.1。

在家用服务器上,打开通向中继服务器的SSH连接,如下所示。

homeserver~$ ssh -fN -R :localhost:22 relayserver_user@1.1.1.1这里的端口是你可以选择的任何随意的端口号。

只要确保该端口没有被中继服务器上的其他程序所使用就行。

“-R :localhost:22”选项定义了反向隧道。

它通过中继服务器的端口1022,将流量转发到家用服务器的端口22。

若使用“-fN”选项,一旦你成功验证了身份、登录到SSH服务器,SSH就会径直进入后台。

如果你不想在远程SSH服务器上执行任何命令,只想转发端口,就像在本文的示例中,这个选项很有用。

运行上述命令后,你将直接回到家用服务器的命令提示符。

登录进入到中继服务器,核实127.0.0.1绑定到sshd。

如果是这样,那意味着反向隧道已正确建立起来。

relayserver~$ sudo netstat -nap | grep tcp 0 0 127.0.0.1 0.0.0.0:* LISTEN 8493/sshd现在可以从其他任何计算机(比如clientcomputer),登录进入到中继服务器。

然后访问家用服务器,如下所示。

relayserver~$ ssh -p homeserver_user@localhost需要注意的一个地方就是,你为localhost输入的SSH登录信息/密码应该适用于家用服务器,而不是适用于中继服务器,因为你是通过隧道的本地端点登录进入到家用服务器。

所以别为中继服务器输入登录信息/密码。

成功登录后,你就接入到了家用服务器。

通过SSH反向隧道,直接连接到NAT后面的服务器虽然上述方法让你可以连接到NAT后面的家用服务器,但是你需要登录两次,先登录到中继服务器,然后登录到家用服务器。

这是由于中继服务器上SSH隧道的端点绑定到回送地址(127.0.0.1)。

但实际上,只要单次登录到中继服务器,就可以直接连接到NAT后面的家用服务器。

为此,你需要让中继服务器上的sshd不仅可以从回送地址转发端口,还可以从外部主机转发端口。

这可以通过在中继服务器上运行的sshd里面指定GatewayPorts选项来实现。

打开中继服务器的/etc/ssh/sshd_conf,添加下面这一行。

relayserver~$ vi /etc/ssh/sshd_confGatewayPorts clientspecified重启sshd。

基于Debian的系统:relayserver~$ sudo /etc/init.d/ssh restart基于红帽的系统:relayserver~$ sudo systemctl restart sshd现在不妨从家用服务器开始建立SSH反向隧道,如下所示。

homeserver~$ ssh -fN -R 1.1.1.1:localhost:22 relayserver_user@1.1.1.1登录进入到中继服务器,用netstat命令核实SSH反向隧道已成功建立起来。

relayserver~$ sudo netstat -nap | grep tcp 0 0 1.1.1.1 0.0.0.0:* LISTEN 1538/sshd: dev不像之前的情况,隧道的端点现在是1.1.1.1(中继服务器的公共IP地址),而不是127.0.0.1。

这意味着,可以从外部主机连接到隧道端点。

现在可以从其他任何计算机(比如clientcomputer),输入下列命令,访问NAT后面的家用服务器。

clientcomputer~$ ssh -p homeserver_user@1.1.1.1在上述命令中,虽然1.1.1.1是中继服务器的公共IP地址,但homeserver_user必须是与家用服务器关联的用户帐户。

这是由于,你实际登录进入的主机是家用服务器,而不是中继服务器。

后者只是将你的SSH流量中继转发到家用服务器而已。

在Linux上建立持久性SSH反向隧道想必你已明白了如何建立一条SSH反向隧道,现在不妨让隧道具有“持久性”,那样隧道随时建立并运行起来(无论面对什么样的情况:暂时网络拥塞、SSH超时还是中继主机重启等)。

毕竟,要是隧道没有始终建立起来,你也就无法可靠地连接到家用服务器。

为了建立持久性隧道,我要使用一款名为autossh的工具。

顾名思义,万一SSH会话由于任何原因而断开,这个程序让你可以自动重启SSH会话。

所以,让SSH反向隧道保持持久连接很有用。

第一步,不妨建立无需密码的SSH登录机制,从家用服务器登录到中继服务器。

那样一来,autossh就能重启断开的SSH反向隧道,不需要用户干预。

下一步,将autossh安装到发起隧道的家用服务器上。

从家用服务器运行带下列变量的autossh,从而建立一条通向中继服务器的持久性SSH隧道。

homeserver~$ autossh -M -fN -o PubkeyAuthentication=yes -o StrictHostKeyChecking=false -o PasswordAuthentication=no -o ServerAliveInterval 60 -o ServerAliveCountMax 3 -R 1.1.1.1:localhost:22 relayserver_user@1.1.1.1“-M ”选项指定了中继服务器上的一个监控端口,将用来交换测试数据,以监控SSH会话。

该端口不应该被中继服务器上的任何程序所使用。

“-fN”选项传递给ssh命令,让SSH隧道可以在后台运行。

“-o XXXX”选项指令ssh执行下列操作:•使用密钥验证,而不是密码验证。

•自动接受(未知的)SSH主机密钥。

•每60秒就交换持久连接(keep-alive)消息。

•最多发送3个持久连接消息,而不接受任何响应。

与SSH反向隧道有关的其余选项仍与之前一样。

如果你希望SSH隧道一启动就自动建立起来,可以在/etc/中添加上述的autossh命令。

如何通过路由器部署IPv6环境

如果你是具备公网IPv4地址的接入环境,可以使用以下方案,没有公网IPv4的接入方法我回头再发上来。

工具/原料:openwrt路由器一台(本文采用NETGEAR WNDR3800进行操作)网线一根电脑一台1、测试是否具备公网IPv4地址的接入环境,测试方法如下:2. 申请“企业隧道配置”测试具备公网IPv4地址的接入环境后,可以开始申请“企业隧道配置”。

拥有固定公网IPv4地址可直接在6plat网站申请“企业隧道配置”;如果没有固定公网IPv4地址可以先申请DDNS服务(花生壳等),然后与openwrt路由器绑定,再以DDNS域名进行“企业隧道配置”的申请。

具体申请方式如下:3、Openwrt 路由器我的路由器采用的是WNDR3800,刷的是基于openwrt15.05.1的明月版本。

(大家也可以选择其它的路由器和固件)明月固件下载地址见4. 建立6in4隧道刷好明月固件后,我们可以用此路由器来搭建“6in4”隧道来实现IPv6的接入了。

首先通过WEB方式登陆刷了明月固件的路由器,用户名和密码都为root,选择左侧菜单栏“网络”中的“接口”,点击“添加新接口”新接口的名称“6plat”,新接口的协议“IPv6-in-IPv4(RFC4213)”,点击“提交”选择左侧菜单栏“网络”中“接口”,点击新建立的“6plat”,进入“基本设置”页面。

“远程IPv4地址”为6plat端的公网IP地址“118.145.7.173”,“本地IPv6地址”为邮件申请企业隧道配置后,反馈邮件分配的用于互联的IPv6地址,“IPv6路由前缀”为刚刚填写的“本地IPv6地址”的前缀,例如本地IPv6地址为“240c:f:a108::2/64”,则IPv6路由前缀则为“240c:f:a108::”。

以上全部填写完毕后,点击右下角“保存&应用”即可。

5. 添加IPv6的默认路由建立6in4隧道成功后,开始添加IPv6的默认路由。

点击左侧菜单栏的“静态路由”,进入设置界面(如下图),网络接口选择“6plat”,对象填写为“::/0”,IPv6网关为6Plat端的IPv6互联地址(在企业隧道申请反馈邮件的配置手册中有)。

以上填写完毕后,点击右下角的“保存与应用”。

6. 设置IPv6 DHCP和DNS选择左侧菜单栏“网络”中“接口”,点击“LAN”进入设置页面,在DHCP服务器的“IPv6设置”中,将“广播的DNS服务器”设置为“240c::6666”(注:240c::6666为IPv6防污染公共DNS,240C::6644为6Plat 6to4公共DNS。

)7. IPv6 ULA前缀配置选择左侧菜单栏“网络”中“接口”,将IPv6 ULA前缀设置为“240c:f:a108:xx:2/64”,其中,xx为自行设定值。

设置完毕后,点击右下角“保存与应用”。

8. 进行防火墙设置选择左侧菜单栏“网络”,将“入站数据”、“出站数据”、“转发”三项均设置为“接受”。

设置完毕后,点击右下角“保存与应用”。

9. DDNS设置(有固定公网地址可忽略此步骤)如果您有固定的公网IPv4地址,您可以直接进行下一步骤了。

如果没有固定公网IPv4地址,要进行DDNS设置。

DDNS要先到DDNS网站进行注册,我这里是在进行注册的。

注册好DDNS账号之后,选择左侧菜单栏“服务”中的“动态DNS”,勾选“启用”,点击“修改”。

在“基础设置”中,“DDNS服务提供商[IPv4]”为“”,“主机名/域名”为“”,“用户名”和“密码”为DDNS服务提供商网站中域名的“更新密码”的用户名和密码。

以上设置完毕后点击右下角“保存与应用”。

在“高级设置”中,“IP地址来源[IPv4]”为“网络接口”,“网络接口”为拨号上网的那个接口。

以上设置完毕后点击右下角“保存与应用”。

10. 进行连通性测试都设置好之后可以在接口界面看到有流量出现,在PC机上进行连通性测试。

哈哈,IPv6网络已经通了,可以畅游IPv6的世界了。

此时处于内网环境的所有客户端(PC、Pad、Phone等)都可以接入v6环境。

如果在路由器上关闭v4 DHCP,则内网相当于纯v6环境,可以访问支持v6的网络资源。

未经允许不得转载:虎跃云 » ngrok HTTPS隧道建立与配置教程
分享到
0
上一篇
下一篇

相关推荐

联系我们

huhuidc

复制已复制
262730666复制已复制
13943842618复制已复制
262730666@qq.com复制已复制
0438-7280666复制已复制
微信公众号
huyueidc_com复制已复制
关注官方微信,了解最新资讯
客服微信
huhuidc复制已复制
商务号,添加请说明来意
contact-img
客服QQ
262730666复制已复制
商务号,添加请说明来意
在线咨询
13943842618复制已复制
工作时间:8:30-12:00;13:30-18:00
客服邮箱
服务热线
0438-7280666复制已复制
24小时服务热线