ngx_http_auth_basic_module模块配置

当我们有某个页面或者目录希望开放给特定用户来看的时候,就需要加上权限验证,这时候有人可能会想到做一套权限系统或者登录系统,但是如果我们仅仅是临时开放,完全没有必要做一套复杂的系统,这时候可是使用nginx自带的ngx_http_auth_basic_module模块,可以非常方便的实现如上的效果.

在对应nginx配置文件中增加如下配置项

location / {
    auth_basic           "closed site";
    auth_basic_user_file conf/htpasswd;
}

这里要注意的是auth_basic_user_file对应的文件,最好使用绝对路径,否则很容易出现路径错误的情况,这个文件需要使用htpasswd工具生成.

通过命令快速获取本机外网IP

下面几个链接都可以帮助我们获取到本机的外网IP,但是返回值稍有不同,有的返回纯净的IP(结尾有带换行的和不带换行的),有的携带一些其他内容,有的支持http和https,有的支持http或https,这里面ip.cn最TMD有意思,我在Mac上访问,返回HTML,在Linux上访问,返回JSON.

curl http://whatismyip.akamai.com
curl http[s]://icanhazip.com
curl http[s]://ifconfig.me #国内不稳定,不建议使用
curl http[s]://myip.dnsomatic.com
curl https://ip.cn
curl http[s]://cip.cc
curl http[s]://myip.ipip.net
curl http://ip.d3vm.net

使用docker+frp做内网穿透

为什么要做这件事?

  1. 家里有一个闲置的树莓派3B+,想把它利用起来,做一个私有云网盘
  2. 在做微信开发/对接各种支付产品时,使用过免费的内网穿透工具,稳定性欠佳
  3. 希望能通过SSH远程控制家里的树莓派,执行一些任务
  4. 于是就想自己解决这个问题.但是树莓派在家里无法被外网直接访问到,要解决这个问题,就要用到内网穿透也叫NAT穿透.

工具选择

内网穿透工具有很多,国内最有名的应该就是花生壳了吧,下面我罗列一些比较有名的工具.我并没有一一试用,排名不分先后

  • 花生壳
  • Ngrok
  • frp
  • nsloop
  • 网云穿
  • 一些内网穿透的硬件