幸福飞过海 - 2015年9月 风起的网络记事本 2015-09-06T07:32:00+00:00 Typecho https://fengqi.me/feed/atom/2015/09/ <![CDATA[[分享] 使用 Ngrok 实现内网穿透]]> https://fengqi.me/default/422.html 2015-09-06T07:32:00+00:00 2015-09-06T07:32:00+00:00 风起 http://fengqi.me Ngrok 是什么

ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放。

网络架构如下图所示:

24201429_lLUH.jpg

介绍和图片来自: http://www.oschina.net/p/ngrok

可以用来干什么

其中应用场景最多的是内网穿透, 把局域网内的一些服务暴露到公网.
例如支付对接的异步通知, 微信开发者模式测试等.

[...]

]]>
<![CDATA[[原创]搭建自己的 Ngrok 服务器, 并与 Nginx 并存]]> https://fengqi.me/unix/409.html 2015-09-03T12:07:00+00:00 2015-09-03T12:07:00+00:00 风起 http://fengqi.me Ngrok 是一个内网穿透工具, 用来将内网的一些服务器暴露到公网上, 目前支持 HTTP 和 TCP 端口转发.

Ngrok 官方提供的服务器因为一些原因导致可用率不高, 但是他们开源了 1.x 版本的服务器端代码(目前最新是 1.7), 这样就可以自己搭建了.

Ngrok Server 端部署

这个比较简单, 参考官方的文件就可以, 步骤无非就是: 拿到代码, 安装 go, 进行编译.

文档地址: https://github.com/inconshreveable/ngrok/blob/master/docs/DEVELOPMENT.md

编译完成后, 执行 ngrokd -h, 输出如下:

Usage of bin/ngrokd:
  -domain="ngrok.com": Domain where the tunnels are hosted
  -httpAddr=":80": Public address for HTTP connections, empty string to disable
  -httpsAddr=":443": Public address listening for HTTPS connections, emptry string to disable
  -log="stdout": Write log messages to this file. 'stdout' and 'none' have special meanings
  -log-level="DEBUG": The level of messages to log. One of: DEBUG, INFO, WARNING, ERROR
  -tlsCrt="": Path to a TLS certificate file
  -tlsKey="": Path to a TLS key file
  -tunnelAddr=":4443": Public address listening for ngrok client

参数比较简单, 指定域名, http 端口, 日志, ssl 证书, 隧道端口.
这里有个问题就是, 80, 443 已经让给 nginx 使用了, 虽然 ngrok 能指定到其它端口, 但是在客户端连接后:

QQ20150903-2@2x.png

一个是 https 识别错误, 一个是访问的时候加端口麻烦, 就算用 nginx 再次代理, 但是客户端显示的端口是没有变化的.

[...]

]]>
<![CDATA[[转载]Git 忽略 chmod 更改]]> https://fengqi.me/unix/407.html 2015-09-02T17:38:00+00:00 2015-09-02T17:38:00+00:00 风起 http://fengqi.me 利用git来进行web开发的时候,通常涉及到文件权限的更改是不需要让git变更的。所以我们需要让git来排除chmod更改。

我们打开shell, cd到git根目录,执行命令: git config core.filemode false

然后我们再来执行git status就会发现少了很多需要变更的文件

建议设置到全局, 命令改为: git config --global core.filemode false

今天被一个同事一次提交近300个文件的更改(全部chmod...)吓到了, 提交前也不对比下, 不过 Gitlab 居然没有卡死.

参考: Git忽略chmod更改

]]>