让你网络上的某个私密站点只能你一个人访问

前置条件,你得稍微懂得nginx的配置,至少你得懂得lnmp 中nginx 配置的修改(其实所有nginx的配置都一样的。)

首先这个得跟我写的 《写了个小python程序——用python来修改DNSPod的解析记录值》联起来看,这玩意是用来做DDNS的。不过如果你有其他的DDNS的话,例如noip.com 这家的动态DNS的话,那么就可行了。如果没有DDNS的话,你得用我上面的小脚本在每次开机之后运行一下(事实上是每次断网更换IP之后运行一下。)

先说一下原理。

原理就是通过nginx的allow 和deny规则来限制。

首先,通过脚本来抓去你的ddns的IP

这一步我是通过py来实现的,毕竟简单,几句话就OK了。

其次是修改nginx,这个也简单,3句话就搞定了,这个我是通过bash来实现的。

为什么不用py或者单独的bash来实现呢?其一,我学艺不精。其二,我懒(其实这个才是主要的。)

用python脚本来实现获取IP,并写如日志

然后用bash来更新nginx配置。事实证明用python脚本写字符串更新什么的,还是用sed写快的一比~

用法如下在

root 目录下创建2个目录1为python,2为shell

将http://rffan.info/scripts/python/getip.py 放到python 目录下

将http://rffan.info/scripts/bash/change.sh 放到shell目录下。

另外这个change.sh需要改一下东西,包括nginx配置文件的路径。毕竟我是通过yum来安装nginx的,而不是使用的军哥一键包等一键安装工具安装的一般你们的nginx配置文件会在/usr/local/nginx/conf/vhost 目录下面。只要你们把我的/etc/nginx/conf.d 这个目录替换掉就OK了。

另外就是要替换前必须得写好规则,例如

在nginx的server字段里面要添加好

allow xx.xx.xx.xx;

deny all;

必须allow在前,否则deny先生效,所有人都无法访问。

至此,混乱的教程结束,看的懂就看,看不懂也不要找我,我要睡觉。

 

未经允许不得转载:啊福主机 » 让你网络上的某个私密站点只能你一个人访问

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址