云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

天翼云_大秦帝国百度云_12月免费

小七 141 0

Cloudflare Argo隧道,带铁锈+覆盆子皮

昨天Cloudflare发射了Argo隧道。用产品团队的话来说:Argo Tunnel公开在本地web服务器上运行的应用程序,在任何具有Internet连接的网络上运行,而无需添加DNS记录或配置防火墙或路由器。它只是起作用。一旦我摸索了一下,我首先想到的是,我可以用我的树莓派来服务一个网站,而不需要:在我的路由器上运行的一个不可靠的DDNS向全世界公开我的家庭网络云虚拟机哦。。。太令人兴奋了。钻机我想你已经有一个带树莓皮的树莓皮了。把Pi插入路由器。它现在应该有一个IP地址。在路由器的管理用户界面中查找:好吧,很有希望。让我们使用默认的pi/raspberry凭据连接到该IP:$ssh 192.168.8.26-lπ邮箱:192.168.8.26的密码:Debian GNU/Linux系统包含的程序是免费软件;中描述了每个程序的确切分布项/usr/share/doc/*/中的单个文件。在某种程度上,debiangnu/Linux没有任何担保适用法律允许。上次登录时间:2018年3月18日23:24:11,来自stevens-air-2.lan圆周率@raspberrypi:~ $我们进去了!专业提示:快速找出你的类型是圆周率@raspberrypi:~$cat/proc/cpuinfo | grep'Revision'| awk'{print$3}'sed's/^1000//'a22082号然后在Raspbery Pi修订历史中查找该值。我有覆盆子皮3型号B互联网连接好的,我们有一个Pi连接到我们的路由器。让我们100%确保它能连接到互联网。圆周率@raspberrypi:~$$curl-Ihttps://www.cloudflare.comHTTP/2200日期:2018年3月20日星期二格林尼治标准时间22:54:20内容类型:text/html;字符集=utf-8设置cookie:u cfduid=dfb9c369ae12fe6eace48ed9b51aedb01521586460;过期时间=星期三,19年3月20日22:54:20 GMT;path=/;domain=。cloudflare.com网站;仅限httpx-powered-by:快速缓存控制:无缓存x-xss-保护:1;模式=块严格的传输安全性:最长期限=1578000;包括子域x-内容-类型-选项:nosniffx帧选项:SAMEORIGIN服务秒数:0.025设置cookie:u cflb=3128081942;path=/;expires=Wed,2018年3月21日21:54:20 GMT预期ct:最大年龄=604800,报告uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"服务器:cloudflarecf射线:3febc2914beb7f06 SFO狗第一行HTTP/2200是OK状态代码,这足以告诉我们可以连接到Internet。通常情况下,这不会特别令人兴奋,因为它允许连接导致问题。这是Argo隧道的承诺,然而,它在tin上说,我们不需要戳任何防火墙漏洞或配置任何DNS。大索赔,让我们来测试一下。安装代理去https://developers.cloudflare.com/argo-tunnel/downloads/获取你的Pi的ARM构建的url。在写这篇文章的时候https://bin.equinox.io/c/VdrWdbjqyF/cloudflared-stable-linux-arm.tgz$wget公司https://bin.equinox.io/c/VdrWdbjqyF/cloudflared-stable-linux-arm.tgz解析平分点.io(平分点.io)... 54.243.137.45,107.22.233.132,50.19.252.69。。。正在连接到平分点.io(平分点.io)|54.243.137.45 |:443。。。有联系的。HTTP请求已发送,正在等待响应。。。200行长度:5293773(5.0M)[应用程序/八位字节流]保存到:'cloudflared stable linux-手臂.tgz’...解开它$mkdir阿尔戈隧道$tar—xvzf cloudflared稳定linux-手臂.tgz-C./argo隧道云闪$cd argo隧道检查你能执行它。$./cloudflared—版本cloudflared版本2018.3.0(建于2018-03-02-1820 UTC)看起来不错。现在,我们希望代理能够神奇地从Pi out连接到最近的Cloudflare POP。我们显然希望这是安全的。此外,我们希望当一个请求传入时,它会神奇地通过Cloudflare的网络路由并返回到我的Raspberry Pi。似乎不太可能,但我们要有信心。以下是我对所发生事情的心理模型:让我们创建一个安全通道。我想我们需要一些证书或证书。。。$./cloudflared登录您将在命令窗口中看到类似以下内容的输出:浏览器窗口应该已在以下URL打开:https://www.cloudflare.com/a/warp?回调=如果浏览器无法打开,请自己打开并访问上面的URL。我们的headless Pi没有web浏览器,所以让我们将url从控制台复制到主机dev机器上的浏览器中。本部分假设您在Cloudflare上已经有一个域,如果您不去安装指南开始。我们被问到我们希望这个隧道位于哪个领域。我选择了帕克曼.wiki. 单击"授权"。现在您应该可以在pi上看到:您已成功登录。如果要将凭据复制到服务器,则它们已保存到:/主页/pi/.cloudflared/证书pem啊哈!这就解释了隧道的安全问题。代理已创建一个证书,并将使用该证书来保护与Cloudflare的连接。现在让我们创建隧道并提供一些内容!$cloudflared--主机名[主机名]--hello worldhostname是您先前选择为Argo隧道授权的域下的完全限定域名。我要用隧道.pacman.wiki$./cloudflared—主机名隧道.pacman.wiki--你好,世界信息[0002]代理隧道请求到https://127.0.0.1:46727个INFO[0000]在127.0.0.1:53030启动Hello World服务器INFO[0000]启动度量服务器addr="127.0.0.1:53031"信息[0005]已连接到LAX信息[0010]已连接到SFO-DOG信息[0012]已连接到LAX信息[0012]已连接到SFO-DOG嗯,有趣。所以,我们已经接通了我最近的爸爸。我在旧金山湾区,所以SJC和LAX看起来很合理。现在呢?当然不是这样吗?如果我读对了,我可以进入我的浏览器,输入https://tunnel.pacman.wiki和我会得到一个"你好世界"页面。。。当然不是。回到Pi上信息[0615]获取https://127.0.0.1:62627/HTTP/1.1 CF-RAY=4067701b598e8184 LAX信息[0615]200合格CF-RAY=4067701b598e8184 LAX小心点。吹。所以这里到底发生了什么。。。Pi上的代理创建了一个安全隧道(一个持久的http2连接),返回到最近的Cloudflare Argo隧道服务器隧道是用代理生成的证书保护的。请求https://tunnel.pacman.wiki去了从我的浏览器上通过互联网发送到最近的Cloudflare数据中心Cloudflare收到请求,看到域是Cloudflare管理的,并看到一个隧道设置到该主机名请求通过http2连接路由回我的Pi我在互联网上提供流量,从我的Pi,没有端口打开我的家庭路由器。太酷了。不仅仅是你好世界如果您正在阅读本文,我已经赢得了与Cloudflare博客编辑团队关于长格式与短格式内容的斗争:p为helloworld服务很好,但是我想公开一个真正的web服务器。如果你和我一样,如果你能找到任何模糊相关的理由使用锈迹,那么你就使用锈迹。如果你也像我一样,你想试试一个像gotham一样酷孩子们谈论的关于/r/rust的异步web服务器。我们来吧。首先,用防锈剂安装铁锈。$卷曲https://sh.rustup.rs-sSf|什当提示时,只需按enter键1) 继续安装(默认)2) 自定义安装3) 取消安装...稳定安装-rustc 1.24.1(d3ae9a9e0 2018-02-27)...好的,生锈了。现在,克隆高谭并构建hello\u world示例:$git克隆https://github.com/gotham-rs/gotham$cd gotham/examples/hello\u世界$货物建造专业提示:如果没有找到cargo,请运行source$HOME/.cargo/env。它将在以后的会议中自动进行。当cargo发挥它的魔力时,你可以自己思考它是如何成为一个优秀的包管理器的,它是如何真正有很多依赖关系的,以及OSS是如何真正站在巨人巨人巨人的肩膀上的,最终你会得到一个例子。...编译gotham_examples_hello_world v0.0.0(文件:///home/pi/argo tunnel/gotham/examples/hello_world)在502.83秒内完成了dev[unoptimized+debuginfo]个目标$cd../../target/调试$./gotham_示例在侦听请求:7878个我们有一个rust web服务器监听本地端口。让我们把隧道连接起来。./cloudflared—主机名高谭.pacman.wiki:7878个类型高谭.pacman.wiki进入你的网络浏览器,你会看到那些光荣的词,"你好,世界"。等等,这篇文章不只是为了你好世界。好的,接受挑战。使用Unicode,Rust既花哨又现代。我们来点这个吧。$cd examples/hello\u world/src/$纳米src/主要单位:卢比替换hello world字符串:一些((String::from("Hello World!")。into\u bytes(),mime::TEXT_PLAIN)),通过一些Unicode和内容类型提示,使浏览器知道如何呈现:一些((String::from("Pᗣ••MᗣN).into_bytes(),mime::text_html)),构建并运行$货物建造..../gotham_示例在侦听请求:7878个$./cloudflared—主机名高谭.pacman.wiki:7878个现在,我们已经在家里通过互联网,由一个用快速、安全、高级语言编写的高度异步的web服务器提供一些unicode服务。很酷。我们结束了吗?我们可能应该在引导时自动启动代理和web服务器,这样当我们结束ssh会话时它们不会死掉。$sudo./cloudflared服务安装信息[0000]无法复制用户配置。在运行服务之前,确保/etc/cloudflared包含两个文件,证书pem以及配置ymlerror="打开证书pem:没有这样的文件或目录"好错误!好的,产品团队已经在这里很好地记录了要放入文件中的内容$sudo cp~/.云闪/证书pem/etc/云闪$sudo nano/etc/云闪/配置yml#配置yml主机名:高谭.pacman.wiki网址::7878个代理的Autostart$sudo./cloudflared服务安装信息[0000]使用Systemd误差[0000]