Go语言中文网 为您找到相关结果 248

如何使用 frp 实现内网穿透

这有一个专注Gopher技术成长的开源项目「go home」 背景 作为一名程序员,家里多多少少会有一些落了灰的电脑,如果把闲置的电脑变成服务器,不仅有良好的配置,还能用来做各种测试,那就再好不过了。但是局域网的设备怎么被外网访问呢?这就靠内网穿透来实现了。 内网穿透又叫 NAT 穿透,常用的工具有很多,比如 ngrok、花生壳、frp等,因为我使用的是 frp,这也是本篇文章的主题。 NAT 是在 IP 数据包通过路由器或防火墙的时候重写 IP 地址的技术。因为现在的公网 IP 数量有限,国家不能给每个设备分配一个公网 IP,所以只能多台计算机共用一个公网 IP 对外通讯,这样就需要进行网络转换,而 NAT 的目的正是如此。 基本实现原理 fr...阅读全文

博文 2020-05-15 23:32:46 平也

开始学习 Go

刚才按照 Go 官方网站的安装文档安好了 Go。顺带写了个 "Hello World" 。 刚才看了 “Go 三天教程”的第一篇,非常有意思的语言,目前对这门语言的语感可以用“简约、洒脱”来形容。 顺便浏览了一下 Go 的官方包(库),发现其中包含了 html、http、template、rpc、json、websocket、crypto、等等 Web 相关包,做 Web 应用绝对给力,而且很前沿啊(支持 HTML5)。 明天正式开始学习这门新语言 :-) 本文是使用 B3log Solo 从 简约设计の艺术 进行同步发布的原文地址:http://88250.b3log.org/articles/2010/11/18/1290099452140.htm...阅读全文

博文 2015-06-17 20:05:55 DL88250

简单聊聊VPC和SDN/NFV

摘要: 近几年,SDN和NFV是网络界的热点,那么阿里云是如何做SDN和NFV的呢?阿里云VPC又是如何实现的呢?和SDN和NFV是什么关系呢?本文将介绍相关内容。 注:本文部分内容来自网络搜索的整合 大家都知道,目前各大云服务商都提供了VPC(Virtual Private Cloud)产品,VPC已经成为用户使用云首先需要考虑的云产品,甚至是比ECS更早需要考虑的云产品,可以说是基础中的基础。首先,我们还是来简单介绍下什么是VPC?VPC又有什么好处?再来讨论我们今天的主题,即阿里云VPC和SDN及NFV的关系。 什么是VPC 可以从下面三点来理解VPC。 首先,VPC可以认为是一个网络容器。用户可以免费开通这个容器,开通后再在这个容器中...阅读全文

如何在 Go 中使用 TLS 连接 MongoDB

通常我们的数据库都配置为内网访问,但由于业务部署架构的不同,有时也需要通过公网访问 MongoDB 数据库,此时为了防止被端口扫描和脱库,MongoDB 需要配置为 TLS 访问,那在 Go 中应该如何实现呢? 依赖 配置了 TLS 公网访问的 MongoDB 实例 Go 的 MongoDB 驱动 globalsign/mgo Go 实现代码: package model import ( "crypto/tls" "crypto/x509" "errors" "github.com/globalsign/mgo" "io/ioutil" "log" "net" ) func main() { dsn := "mongodb://user:password@host/database" di...阅读全文

博文 2019-11-25 23:02:58

内网穿透 --- 搭建自己的ngork服务器及身份认证

内网穿透的目的是:让外网能访问局域网内本地的应用,例如在外网访问你本地http://127.0.0.1指向的Web站点。 ngrok简介 ngrok是一个反向代理,通过在公共的端点和本地运行的Web服务器之间建立一个安全的通道。ngrok可捕获和分析所有通道上的流量,便于后期分析与响应。 开源免费 官网:https://ngrok.com/ 源码:https://github.com/inconshreveable/ngrok ngrok.png ngrok使用go语言开发,源代码分为客户端与服务器端。 本文需要配置有: 一台外网服务器A,windows或linux都行,我外网服务器是linux系统; 域名,如martin.com,并且解析到外网服务器A上; 内网本机,windows系统或l...阅读全文

博文 2018-11-18 03:34:39 martin6699

hole

在其他地方想要访问家里的 [raspberry pi](http://www.oschina.net/p/raspberrypi), 通常是要在路由器上设置端口转发,然后绑定个动态域名。万一这个路由器不是自己的,自己没有任何权限,这样子旧束手无策了。 不过也是有解决方案的,用 ssh 的端口转发 ssh -CfNgR remote-port:localhost:local-port user@remote。 hole 是另一种解决方案,通过 hole 你可以把 raspberry pi(其他机器也是可以的) 的任何端口转发到公网服务器上面去,这样子你就可以通过访问公网的 服务器来访问家里的服务了。

阅读全文

VPN网关最佳实践系列(一)如何让VPC之间互通

摘要: 话题引入 VPN网关是阿里云新推出的一项网络服务,可以帮助你的企业轻松构建安全、稳定、高可用的网络互联方案。相比传统VPN软件和自建VPN,阿里云VPN网关部署方便,即开即用,售后支持专业。 今天,我们来谈一谈如何如何部署和配置VPN网关,使两个VPC之间能够私网互通,把你的云上网络连接起来。 话题引入 VPN网关是阿里云新推出的一项网络服务,可以帮助你的企业轻松构建安全、稳定、高可用的网络互联方案。相比传统VPN软件和自建VPN,阿里云VPN网关部署方便,即开即用,售后支持专业。 今天,我们来谈一谈如何如何部署和配置VPN网关,使两个VPC之间能够私网互通,把你的云上网络连接起来。 VPN部署 提示:VPN网关是基于Internet建立加密隧道进行通信,通信质...阅读全文

部署自己的Ngrok实现内网穿透

为什么要内网穿透 一般来说,外网要访问服务器,那么这个服务器必须绑定一个公网ip,现在可以购买的云服务器都是这样。比如个人要在家里组建服务器,而且要外网的客户端可以访问,这时候问题就出现了 问题1:现在一般家里是没有外网ip的,ip都是路由好几层的局域网ip 问题2:就算有外网ip,也是动态ip 准备 外网服务器一台,系统为Ubuntu 根域名,需要具有域名的A记录解析权限 内网测试机器,这里使用个人windows笔记本 正式工作 域名解析 首先需要一个域名作为ngrok的域名,比如ngrok.example.com,那么需要把ngrok.example.com和*.ngrok.example.com域名的A记录解析到外网服务器。 编译ngrok 安装Go环境 ngrok是Go语言开发的,需...阅读全文

博文 2018-07-27 13:34:59 vczyh

golang手把手实现tcp内网穿透代理(3)快速编码测试

差不多一个星期没更新这个系列了,今天难得有点时间,然后就开始写了点代码,上一章节讲了数据模型的定义和数据发送。这些都是一些准备,但是实际上距离真正实现tcp内网穿透代理还有些距离。 所以今天的章节是快速写一个例子,来测试一下tcp内网穿透代理。然后再规范代码,因为快速的demo测试,可以立马看到效果,当然我们的一些设计还是有用的。 我自己对于写代码的理解是: 分为以下几步 1.首先需要规划,设计,考虑要做的事情,比如接口怎么定义,数据结构是怎么样的,代码逻辑,业务逻辑,流程是怎样的,这些都是需要梳理清楚的。 2.那就是根据这些东西先来个快速的编码,先不要管细节,能越快实现就越好。这一步就是不需要过度的按照设计去实现东西。 3.最后就是根据我们快速编码实现的效果,去改进优化。实现的更加优雅,通...阅读全文

博文 2019-06-23 00:32:40 iamdev

ngrok的https等多隧道搭建及使用(菜鸟篇)

概述:内网穿透,可以做到别人在异地访问你本地的服务。如果你需要调试微信程序可以用到本方法,或者你负担不起云服务器高配置的价格,这里有个方案:自己准备一台电脑再另购一个低配的云服务器,还需要一个域名。目前内网穿透产品有花生壳、Nat123、frp,ngrok等等,本人不对这些产品做比较,今天只基于ngrok,介绍它的环境搭建、服务端配置以及客户端的http,https,远程登录等多隧道配置。1 环境搭建 1.1 本文所使用的环境 顶级域名,一台旧的电脑(Ubuntu Server 16.04.10版本,没有的话你可以自己安装虚拟机),公网服务器(Ubuntu Server 16.04.10版本),git(2.7.4),go(1.9.2) 1.2 环境配置 1.2.1 git的安装 apt-ge...阅读全文

博文 2018-12-06 12:34:43 fengpro

go example之旅(下)

Introduce 这是来自于go by example的例子,花了几天的时间写完了这些例子,感觉对我的帮助很大,对于初学者来说,我的建议还是先找本go的书从头到尾看一下,然后再来看这些例子,每个例子都手敲一遍,对你的帮助还是很大的。在敲这些例子的过程中,有一些疑问,也有一些知识的扩充,因此总结了本文。 time和channel golang的time package带有定时器的功能,而定时器和channel完美融合,创建一个定时器会返回一个channel,在定时器到期之前读这个channel是阻塞的,直到定时时间到达这个channel就会变成可读的。 func main() { //创建了一个定时器,2秒后会发送事件到timer1.C channel timer1 := time.NewT...阅读全文

博文 2016-08-23 03:00:01 zhangyifei216

手把手教你搭建ngrok服务-轻松外网调试本机服务

https://aotu.io/notes/2016/02/19/ngrok/index.html ngrok 是啥,这里就不赘述了,本文主要讲如何搭建的自己的 ngrok 服务,包含 ngrok 服务端、ngrok 客户端。 前置条件 一台外网可访问的主机 一个可用域名并解析至主机上 搭建服务端 安装golang ngrok是利用go语言开发的,所以先要在服务器上安装go语言开发环境。 以CentOS的服务器示例,安装Go语言很简单的: $ sudo yum install golang # 查看是否安装成功 $ go version go version go1.11.5 linux/amd64 安装Git $ sudo yum install git # 查看是否安装成功 $ git ...阅读全文

博文 2019-07-05 19:32:53 sprinkle_liz

MongoDB Go Driver基本用法小结

mongoDB的官方golang支持库,尚处于测试阶段。 以下为示例代码分析总结,实现最基本的CRUD操作, 可供初学者学习参考和引用。 注意:源码并不能直接运行! 本文首发于个人博客MongoDB Go Driver用法小结 安装 推荐使用goland与go mod(go modules ) 官方网站:mongo-go-driver, go modules. 在需要用到的项目中任意一个包import链接,然后右键进行sync操作,便可以导入包,注意设置代理 //example ... import ( "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" ) ... 初始化 在本地数据...阅读全文

如何在 Go 中使用 TLS 连接 MongoDB

通常我们的数据库都配置为内网访问,但由于业务部署架构的不同,有时也需要通过公网访问 MongoDB 数据库,此时为了防止被端口扫描和脱库,MongoDB 需要配置为 TLS 访问,那在 Go 中应该如何实现呢? 依赖 配置了 TLS 公网访问的 MongoDB 实例 Go 的 MongoDB 驱动 globalsign/mgo Go 实现代码: package model import ( "crypto/tls" "crypto/x509" "errors" "github.com/globalsign/mgo" "io/ioutil" "log" "net" ) func main() { dsn := "mongodb://user:password@host/database" di...阅读全文

博文 2019-06-13 20:32:39 51reboot

建站第五篇 使用frp实现内网穿透

文传送门 1 什么是内网穿透 简单来说,内网穿透是一种实现不同局域网内的主机之间通过互联网进行通信的技术。 内网穿透,即NAT穿透,NAT英文全拼是Network Address Translator(网络地址转换器),说白了就是凡是经过NAT发出去的数据包,都会通过一定的端口转换(而非使用原端口)再发出去,也就是说内网和外网之间的通信不是直接由内网机器与外网NAT进行,而是利用内网对外网的NAT建立起SESSION与外网NAT的SESSION进行。 目前可用于内网穿透的开源工具主要有:ngrok和frp。 ngrok。ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。支持TCP协议,不支持UDP协议。ngrok有两个大版本,1.开源在githu...阅读全文

博文 2019-07-11 16:34:17 dd299

Go语言

Go语言是Google推出的新的一个致力于系统级的编程语言。很多人说它是 C + Python,既有c的灵活高效,又有Python的简单易用,它的原则是 Simple && Fast。它的语法规则很简单。其官方网站上有一个《三天学会Go语言》的教程,包括三部分:基本结构,面向对象,并发。一个周末的时间就差不多可以掌握 其基本面貌。相对来说,第三部分“并发”似乎难接受一些。但是如果你对多线程,同步,消息队列这些东西很有经验的话,对它的概念也会容易理解。 http://golang.org...阅读全文

博文 2015-06-17 23:00:28 leelong80

Golang用300行代码实现内网穿透

因分析 我们经常会遇到一个问题,如何将本机的服务暴露到公网上,让别人也可以访问。我们知道,在家上网的时候我们有一个 IP 地址,但是这个 IP 地址并不是一个公网的 IP 地址,别人无法通过一个 IP 地址访问到你的服务,所以在例如:微信接口调试、三方对接的时候,你必须将你的服务部署到一个公网的系统中去,这样太累了。 这个时候,内网穿透就出现了,它的作用就是即使你在家的服务,也能被其人访问到。 今天让我们来用一个最简单的案例学习一下如何用 go 来做一个最简单的内网穿透工具。 整体结构 首先我们用几张图来说明一下我们是如何实现的,说清楚之后再来用代码实现一下。 当前网络情况 当前网络情况 我们可以看到,画实线的是我们当前可以访问的,画虚线的是我们当前无法进行直接访问的。 我们现在有的路是: ...阅读全文

博文 2020-05-26 09:32:45 LinkinStar

【Go】获取用户真实的ip地址

文链接:https://blog.thinkeridea.com/... 用户请求到达提供服务的服务器中间有很多的环节,导致服务获取用户真实的 ip 非常困难,大多数的框架及工具库都会封装各种获取用户真实 ip 的方法,在 exnet 包中也封装了各种 ip 相关的操作,其中就包含获取客户端 ip 的方法,比较实用的方法如下: func ClientIP(r *http.Request) string ClientIP 尽最大努力实现获取客户端 IP 的算法。 解析 X-Real-IP 和 X-Forwarded-For 以便于反向代理(nginx 或 haproxy)可以正常工作。 func ClientPublicIP(r *http.Request) string ClientPubl...阅读全文

博文 2019-03-28 09:34:37 thinkeridea

Go语言入门

Go 语言介绍 Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。 为了尽可能获得最佳的运行性能,Go语言被设计成一门静态编译型语言,而不是动态解释型的。Go语言的编译速度非常快,明显要快过其他同类的语言,比如C和C++。 Go语言的官方编译器被称为gc,包括编译工具5g、6g和8g,链接工具5l、6l和8l,以及文档查看工具godoc(在Windows下分别是5...阅读全文

体验升级,阿里云过保迁移不变公网IP

最近收到阿里云这样一封邮件: 阿里云又要迁移服务器了?好吧,进控制台预约迁移,突然看到了这样一句话: 迁移后公网IP将保持不变! 迁移后公网IP将保持不变! 没看错,是公网IP不变。还记得之前迁移服务器要变更公网IP的事情在网上闹的沸沸扬扬的。我的情况比较好,维护的两个站点,更新下域名解析就行了。网上也有人提到一些第三方服务商依赖IP,第三方如果效率不高有可能造成好几天的业务中断。也有人反馈提工单可以不变IP,不过迁移时间得看阿里云安排。服务中断时间短则1个小时,长的话4~5个小时。 这次允许自己预约重启时间并且还能保证公网IP不变,看来阿里云做了技术升级。不能赞的更多! 预约方式跟之前一样,根据邮件指引,进入...阅读全文

golang代理转发

适用于公司内网请求外网网站,所以需要通过代理转发出去,这里配置一下环境变量COMPANY_HTTP_PROXY、COMPANY_HTTPS_PROXY,通过指定ip请求外网。 // envOnce looks up an environment variable (optionally by multiple // names) once. It mitigates expensive lookups on some platforms // (e.g. Windows). type envOnce struct { names []string once sync.Once val string } func (e *envOnce) Get() string { e.once.Do(e....阅读全文

博文 2019-08-01 14:32:42 杜子龙

go example之旅(下)

Introduce 这是来自于go by example的例子,花了几天的时间写完了这些例子,感觉对我的帮助很大,对于初学者来说,我的建议还是先找本go的书从头到尾看一下,然后再来看这些例子,每个例子都手敲一遍,对你的帮助还是很大的。在敲这些例子的过程中,有一些疑问,也有一些知识的扩充,因此总结了本文。 time和channel golang的time package带有定时器的功能,而定时器和channel完美融合,创建一个定时器会返回一个channel,在定时器到期之前读这个channel是阻塞的,直到定时时间到达这个channel就会变成可读的。 func main() { //创建了一个定时器,2秒后会发送事件到timer1.C channel timer1 := time.NewT...阅读全文

博文 2016-08-30 01:00:05 zhangyifei216

go example之旅(下)

Introduce 这是来自于go by example的例子,花了几天的时间写完了这些例子,感觉对我的帮助很大,对于初学者来说,我的建议还是先找本go的书从头到尾看一下,然后再来看这些例子,每个例子都手敲一遍,对你的帮助还是很大的。在敲这些例子的过程中,有一些疑问,也有一些知识的扩充,因此总结了本文。 time和channel golang的time package带有定时器的功能,而定时器和channel完美融合,创建一个定时器会返回一个channel,在定时器到期之前读这个channel是阻塞的,直到定时时间到达这个channel就会变成可读的。 func main() { //创建了一个定时器,2秒后会发送事件到timer1.C channel timer1 := time.NewT...阅读全文

博文 2016-08-22 23:00:01 zhangyifei216

golang 服务诡异499、504网络故障排查

事故经过 排查 总结 事故经过 11-01 12:00 中午午饭期间,手机突然收到业务网关非200异常报警,平时也会有一些少量499或者网络抖动问题触发报警,但是很快就会恢复(目前配置的报警阈值是5%,阈值跟当时的采样窗口qps有直接关系)。 报警当时非200占比已经过10%并且在持续升高,根据历史规律应该很快就会恢复,我们稍微观察了几分钟(一边吃着很香的饺子一边看着手机),但是过了几分钟故障没有恢复而且占比升高了突破50%,故障逐渐升级(故障如果不在固定时间内解决会逐渐升级,故障群每次升级都会逐层拉更高level的boss进来)手机持续报警震动已经发烫了,故障占比已经快100%,影响面突然变大。 此时提现系统也开始报警,大量打款订单挤压(打款订单挤压突破一定阈值才会报警,所以不是实时),工...阅读全文

博文 2019-11-17 02:33:51 王清培

go example之旅(下)

Introduce 这是来自于go by example的例子,花了几天的时间写完了这些例子,感觉对我的帮助很大,对于初学者来说,我的建议还是先找本go的书从头到尾看一下,然后再来看这些例子,每个例子都手敲一遍,对你的帮助还是很大的。在敲这些例子的过程中,有一些疑问,也有一些知识的扩充,因此总结了本文。 time和channel golang的time package带有定时器的功能,而定时器和channel完美融合,创建一个定时器会返回一个channel,在定时器到期之前读这个channel是阻塞的,直到定时时间到达这个channel就会变成可读的。 func main() { //创建了一个定时器,2秒后会发送事件到timer1.C channel timer1 := time.NewT...阅读全文

博文 2016-10-14 08:00:05 zhangyifei216

我想用go实时的知道我网站打开速度,但不管我网站能否打开,时间都没啥变化,请看看我这样写对不?

我是这样写的: ``` func main() { httpClient := createHTTPClient() start_time := time.Now() resp, err := httpClient.Get("http://baidu.com") end_time := time.Now() fmt.Println(start_time) fmt.Println(end_time) } func createHTTPClient() *http.Client { client := &http.Client{ Transport: &http.Transport{ DisableKeepAli...阅读全文

ubuntu 16.04搭建ngrok内网穿透服务(转)

ubuntu 16.04搭建ngrok内网穿透服务 从公网访问内网部署的服务有很多方式,比如以花生壳为代表的商业内网穿透服务,要么收费,免费的速度慢操作麻烦。本文尝试用开源的ngrok服务,自己在ubuntu16.04搭建代理转接服务器,将外网的请求转接到内网,实现从公网无障碍高速访问内网服务。大概步骤也比较简单(4步):1、在公网主机上(我用的阿里云)部署ngrok源码;2、生成证书;3、编译生成主机服务(最终生成二进制文件ngrokd,启动跑在公网主机上);4、编译生成客户端服务(最终生成二进制文件ngrok,要从公网主机复制到内网真正提供服务的主机上,并启动)。ngrok服务器,实现内网穿透的本质,就是部署在公网端的ngrokd服务和部署在客户端的ngrok服务相互通信转发指令和数据。...阅读全文

博文 2019-09-26 21:32:49 aside section ._1OhGeD

hyperledger fabric Go的安装

Go的安装 Ubuntu的apt-get虽然提供了Go的安装,但是版本比较旧,最好的方法还是参考官方网站 https://golang.org/dl/ ,下载最新版的Go。具体涉及到的命令包括: wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.9.linux-amd64.tar.gz 【注意:不要使用apt方式安装go,apt的go版本太低了!】 接下来编辑当前用户的环境变量: vi ~/.profile 添加以下内容: export PATH=$PATH:/usr/local/go/bin export GOROOT=/usr/local/...阅读全文

博文 2019-03-19 13:34:44 SweetMelody555

如何使用 frp 实现内网穿透

背景 作为一名程序员,家里多多少少会有一些落了灰的电脑,如果把闲置的电脑变成服务器,不仅有良好的配置,还能用来做各种测试,那就再好不过了。但是局域网的设备怎么被外网访问呢?这就靠内网穿透来实现了。 内网穿透又叫 NAT 穿透,常用的工具有很多,比如 ngrok、花生壳、frp等,因为我使用的是 frp,这也是本篇文章的主题。 NAT 是在 IP 数据包通过路由器或防火墙的时候重写 IP 地址的技术。因为现在的公网 IP 数量有限,国家不能给每个设备分配一个公网 IP,所以只能多台计算机共用一个公网 IP 对外通讯,这样就需要进行网络转换,而 NAT 的目的正是如此。 基本实现原理 frp 分为服务端与客户端,前者运行在有公网 IP 的服务器上,后者运行在局域网内的设备上,服务端默认会先开放 ...阅读全文

博文 2020-05-17 03:34:21 平也

电脑换IP——更换内网ip地址

很多人想要更换IP地址,其实IP地址分为192开头的内网地址,以及其他的公网地址。其实在ipv4下上网通过的是动态的ip地址的,这就是说无时无刻运营商帮助你自动更换了。那么对于不同的IP地址是如何进行更换的呢?点击start 菜单,在菜单选择右侧的运行,在运行打开输入cmd输入完毕后点击确定。接着在开始菜单进入控制面板,在控制面板点击右上角的类别选择小图标,在小图标里面选择网络和共享中心的图标。点击连接一旁的本地连接,在弹出的菜单选择属性,在属性里面找到协议版本4点击一下。选择使用“下面的IP地址”,然后根据上面的记录,输入自己想要的IP地址,例如上面的192点168点1点39,这里39可以修改为40 41 23等等,不能够修改成为1或者0,要跟这个39数字临近的。修好了点击确定...阅读全文

博文 2019-03-06 10:33:05 xiniuxiaoniu

如何为Sublime3配置Go语言开发环境

安装GoLang 最简单的办法 - choco choco install golang 或者从官方网站下载也可以, 百度搜一下golang就有. 安装完以后powershell输入golang version, 能看到版本的话, 就是成功的. 建立目录结构C:\Users\hello\go\src\hello 复制代码到hello.go package main import "fmt" func main() { fmt.Printf("hello, world\n") } 打开sublime3, 然后ctrl + shift + p 输入install, 然后输入golang, 找到golang build这个官方插件. 然后设置里面填入 "env": { "GOPATH": "C:/...阅读全文

博文 2019-07-27 14:32:39 陈码工

Ngrok指南

Ngrok是什么? 是一个反向代理,它能够让你本地的web服务或tcp服务通过公共的端口和外部建立一个安全的通道,使得外网可以访问本地的计算机服务。 主要用途 内网穿透 将无外网固定IP的服务映射到公网 希望别人可以直接通过域名访问到本地 微信开发本地调试 准备 一台服务器,一个域名 安装golang 安装git 开始部署 修改DNS 添加二级域名ngrok 添加泛三级域名*.ngrok 配置环境 安装Go yum install golang 如果没有git,还需要安装git yum install git 配置ngrok ...关于部署配置运行,我就跳过了 具体你们可以看这里ngrok搭建指南 后面我讲讲怎样将它设置成服务,并且开机启动 [Unit] Description=ngrok ...阅读全文

博文 2019-08-14 19:32:46 花椰菜君

详解SLB、EIP、NAT网关之间区别, 合理选择云上公网入口

摘要: 概述 阿里云的公网入口产品共有三个,SLB、EIP、NAT网关,这几个产品都可以作为云上资源的公网入口,他们之间有何区别,又分别应该在什么场景下使用呢? **点此查看原文:http://click.aliyun.com/m/41840/** **开始** 阿里云的公网入口产品共有三个,SLB、EIP、NAT网关,这几个产品都可以作为云上资源的公网入口,他们之间有何区别,又分别应该在什么场景下使用呢? 概念 -- **负载均衡SLB** **对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。** 可见云计算中的负载均衡除了通过流量分发让后端的服务器负载均衡,还有两个重...阅读全文

BGP公网成本节省50%秘笈,便宜到阿里云快哭了

摘要: 近日,阿里云推出了共享流量包和共享带宽包,将云上BGP公网使用成本大幅降低,最高可降50%。 共享流量包是BGP流量的预付费套餐,价格比后付费流量更低,并支持闲时流量包,大大降低了BGP流量成本。共享流量包产品覆盖面广,按流量计费的ECS、EIP、SLB和NAT网关都可以使用。 近日,阿里云推出了共享流量包和共享带宽包,将云上BGP公网使用成本大幅降低,最高可降50%。 共享流量包是BGP流量的预付费套餐,价格比后付费流量更低,并支持闲时流量包,大大降低了BGP流量成本。共享流量包产品覆盖面广,按流量计费的ECS、EIP、SLB和NAT网关都可以使用。 共享带宽包是独立的带宽产品,提供高质量的多线BGP带宽和丰富多样的计费模式。支持将弹性公网IP(EIP)添加到共享...阅读全文

ELK学习笔记

ELK 官方网站:https://www.elastic.co/products 相关概念: Elasticsearch :分布式搜索引擎。具有高可伸缩、高可靠、易管理等特点。可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch 基于 Lucene 开发,现在使用最广的开源搜索引擎之一,Wikipedia 、StackOverflow、Github 等都基于它来构建自己的搜索引擎。 Logstash :数据收集处理引擎。支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储以供后续使用。 Kibana :可视化化平台。它能够搜索、展示存储在 Elasticsearch 中索引数据。使用它可以很方便的用图表、表格、地图展示和分析数...阅读全文

博文 2020-04-09 00:32:51 Gukson666

rabbitmq和golang的故事1(安装)

centos7 安装rabbitmq 其他的系统同理 首先, 需要明白, rabbitmq使用erlang语言开发的, 那么首先需要先安装erlang, 对于版本信息, 我们可以在rabbitmq的官方网站上可以看到, 如下图: image 这张图说明了各个版本需要的信息, 安装rabbitmq时, 一定要注意选择好对应的erlang版本。 这里我使用了 erlang 19.3和rabbitmq3.7.6进行安装 erlang 19.3 下载链接 链接:https://pan.baidu.com/s/1zfqhQOj9WdfOAhlfox3wDg 提取码:aqvf rabbitmq3.7.6下载链接链接:https://pan.baidu.com/s/1COnnK1gb9_xkb_xjp2m...阅读全文

博文 2020-03-08 00:32:41 少宇同学丶

golang学习笔记一(go语言环境搭建)

Go环境搭建 1 下载安装包 go语言的官方下载地址是:官方网站 ,如果打不开,可以使用这个地址:镜像网站。因为我是linux系统,所以选择go1.9.linux-amd64.tar.gz 2 我安装的目录是/usr/local/go,所以使用命令 tar -C /usr/local -xzf go1.9.linux-amd64.tar.gz,这个一般需要root身份或者sudo权限,解包之后,/usr/local/就会有一个go目录,go目录下应该是有bin,src,doc等目录。 3 配置环境变量,要是想要机器上的所有用户都生效,那么需要在/etc/profile中配置,如果只要当前用户生效,那么就只需要在~/.profile文件中配置下边两行即可 export GOROOT=/usr/...阅读全文

博文 2017-10-11 03:03:16 成长中的小白

go 语言学习(1)

安装 golang官方网站 golang中文学习网 image 按照你的系统下载对应的安装包即可 设置环境变量 # 我是 mac 系统默认是装在/usr/local 下的,也可以自己选择想要安装的路径 # windows用户自行百度如何修改环境变量,这里不多做介绍 export GOROOT=/usr/local/go export PATH=$PATH:$GOROOT/bin export GOPATH=/Users/yejunyu/go/goget:/Users/yejunyu/go/gowork 这里 gopath 说一下, 每个 go 的目录都有 src存放源代码(比如:.go .c .h .s等) pkg编译时生成的中间文件(比如:.a) bin编译后生成的可执行文件 goroot...阅读全文

博文 2018-07-29 23:34:48 神奇大叶子

如何用Redis实现一个指定时间的限速器

使用Redis的Incr可以很容易的实现一个限速器 在redis的官方文档中也有详细的示例 FUNCTION LIMIT_API_CALL(ip) ts = CURRENT_UNIX_TIME() keyname = ip+":"+ts current = GET(keyname) IF current != NULL AND current > 10 THEN ERROR "too many requests per second" END IF current == NULL THEN MULTI INCR(keyname, 1) EXPIRE(keyname, 1) EXEC ELSE INCR(keyname, 1) END PERFORM_API_CALL() 举个例子: 现有一个...阅读全文

博文 2019-01-25 19:34:43 dom_chan

[Go语言] 面向外网的Web调优详解(go1.8)

版权声明:本文为Sunface(孙飞)原创文章,转载请注明出处 https://blog.csdn.net/abv123456789/article/details/53761116 很早以前crypto/tls(TLS长连接库)和net/http的性能不敢恭维,因此我们都使用Nginx做反向代理,但是Go1.8将要来了,这种格局即将被打破了! 我们最近尝试性的将Go1.8编译的服务暴漏到了外网,结果发现crypto/tls 和net/http都得到了极大的提升:稳定性、性能以及服务的可伸缩性!crypto/tls 现在已经是2016年了,我们不可能再去裸奔在互联网了,因此基于TLS是必然的选择,所以我们需要crypto/tls这个库。好消息就是在1.8下,该库的性能得到了很大的提升,性能表...阅读全文

博文 2019-03-17 14:04:59 erlib

老用户快速从经典网络迁移VPC,阿里云提供便捷解决方案

摘要: 近日,阿里云宣布推出经典网络迁移VPC完整解决方案,帮忙云上老用户平滑迁移到VPC。 阿里云起步于经典网络,但已经全面转向VPC。专有网络VPC(Virtual Private Cloud)以其在安全、成本和网络功能方面的优势,正受到越来越多用户的欢迎,已经成为云上用户的首选网络类型,也是阿里云默认推荐的网络类型。 近日,阿里云宣布推出经典网络迁移VPC完整解决方案,帮忙云上老用户平滑迁移到VPC。 阿里云起步于经典网络,但已经全面转向VPC。专有网络VPC(Virtual Private Cloud)以其在安全、成本和网络功能方面的优势,正受到越来越多用户的欢迎,已经成为云上用户的首选网络类型,也是阿里云默认推荐的网络类型。然而,云上还有很多存量用户在使用经典网络,为了...阅读全文

【Go】获取用户真实的ip地址

文链接: blog.thinkeridea.com/201903/go/g… 用户请求到达提供服务的服务器中间有很多的环节,导致服务获取用户真实的 ip 非常困难,大多数的框架及工具库都会封装各种获取用户真实 ip 的方法,在 exnet 包中也封装了各种 ip 相关的操作,其中就包含获取客户端 ip 的方法,比较实用的方法如下: func ClientIP(r *http.Request) string ClientIP 尽最大努力实现获取客户端 IP 的算法。 解析 X-Real-IP 和 X-Forwarded-For 以便于反向代理(nginx 或 haproxy)可以正常工作。 func ClientPublicIP(r *http.Request) string ClientPu...阅读全文

博文 2019-07-08 10:34:22 thinkeridea

如何在 Go 中使用 TLS 连接 MongoDB

通常我们的数据库都配置为内网访问,但由于业务部署架构的不同,有时也需要通过公网访问 MongoDB 数据库,此时为了防止被端口扫描和脱库,MongoDB 需要配置为 TLS 访问,那在 Go 中应该如何实现呢? 依赖 配置了 TLS 公网访问的 MongoDB 实例Go 的 MongoDB 驱动 globalsign/mgo Go 实现代码: package model import ( "crypto/tls" "crypto/x509" "errors" "github.com/globalsign/mgo" "io/ioutil" "log" "net" ) func main() { dsn := "mongodb://user:password@host/database" dia...阅读全文

博文 2019-06-13 19:03:21 xjtuhit

阿里云ECS开放批量创建实例接口,实现弹性资源的创建

摘要: 为了更方便的实现弹性的资源创建,方便用户一次运行多台ECS按量实例来完成应用的开发和部署,阿里云开放了ECS的批量创建实例接口RunInstances,可以单次最多创建100台实例,避免重复调用和创建。 **点此查看原文:http://click.aliyun.com/m/43195/** 为了更方便的实现弹性的资源创建,方便用户一次运行多台ECS按量实例来完成应用的开发和部署,阿里云开放了ECS的批量创建实例接口RunInstances,可以单次最多创建100台实例,避免重复调用和创建。创建成功后可以自动启动、提供公网访问能力、自动分配公网带宽以及可以预约自动释放。 **功能特性** RunInstances 批量创建实例接口可以帮助用户一次创建多台 E...阅读全文

[译] 通过官网 Go 语言学习笔记 | How to Write Go Code

文:How to Write Go Code 一些基本概念 下载 & 安装:golang.org/doc/install go tool:安装好 Go 之后自带的 cmd 工具,用于 fetch, build and install Go packages. workspace:每一个 Go 的项目代码都存储在一个 workspace 里 一个 workspace 可能包含多个版本管理的 repository(后面用 repo 简写) 每一个 repo 里可能包含一个或多个 packages 每一个 package 在一个文件夹里包含一个或多个 Go 源码文件 一个 package 的文件夹路径就是它的 import path go tool 对代码的组织结构有特定的要求 Workspace...阅读全文

博文 2019-07-18 12:04:49 阴明

安全组规则批量添加授权对象

摘要: 安全组规则如何批量开通常用端口?如何批量对网段授权?本篇将向您介绍ECS控制台中,针对日常维护安全组规则这个典型场景进行的优化改动。 背景 在日常维护安全组时,常见的场景有以下2种: 1.对某个端口范围批量授权多个网段,如:(如:22端口对10.0.0.1/32,10.0.0.2/32,10.0.0.3/32三个网段授权)。 2.对某个网段,批量开通多个端口,如:对10.x.x.xx/16 网段开通22、80、443等端口)。 ECS控制台针对这两个场景,分别提供了两个功能,【添加安全组规则】,解决场景1的问题;【快速创建规则】,解决场景2的问题。之所以没有将两个功能合并,是考虑到在一次操作中同时批量开通多个端口,并对多个网段进行授权,创建出的安全组规则会是一个m ...阅读全文

QuickBI助你成为分析师——数据源FAQ小结

摘要: 添加数据源的时候经常会遇到各种问题,下面来讲解一下常见情况,若仍有疑问扫码咨询哦! 使用 Quick BI 分析数据时,需要先指定原始数据所在的数据源,测试连通数据源是数据分析的基础,下面让我们看一下添加数据源时常遇到的问题吧! **MaxCompute** 注意以下几点: AccessId和AccessKey 必须是有效的 对应账号最好是项目admin或者owner 若为普通用户,需具有 list、select、create instance权限。 **ECS自建库** 目前ECS自建库经典网络添加白名单时常常遇到下面情况: ![图片描述](http://img.blog.csdn.net/20180328105245739?water...阅读全文