首页 > 心得分享

利用Git的WebHooks实现自动部署并解决NAT3网络内网穿透问题

需求在公司内网部署了一台测试服务器, 本地部署的GitLab速度太慢, 打算直接使用OSChina的Git托管服务(https://gitee.com) 问题公司宽带是NAT3网络, 无法获取外网IP, Git的WebHooks无法通知到内网服务器. 解决实现思路利用已有的外网服务器作为外网跳板, 内网服务器通过ssh隧道打通到外网服务器并监听7980端口 然后使用Nginx反向代理WebHooks的请求到7980端口隧道至内网Web服务上. 具体实现步骤前提说明假设:内网服务器IP为: 192.168.1.15 外网服务器IP为: 114.115.116.117 内网服务器准备配...

Nginx配置PHP文件/目录访问需要密码)来保护受限制的内容。

最近一个朋友跳槽到了新公司,公司要用DedeCMS建站。然而对这个比较熟的朋友应该知道,系统是够老牌。但系统的漏洞比功能还多,如何保证服务器安全不被挂马是个大问题。由于他们公司没有专业的技术,就找到我这来寻求帮助,本着助人为乐的想法,除了这样一个方案。由于DedeCMS系统是全站生成静态的,而漏洞必然是通过PHP执行的,所以,防护的切入点为禁止他人访问PHP文件。这样,全站由于是静态的,并不会有太大影响。思路如下,使用Nginx的Auth验证系统,对所有PHP的访问加上密码验证,不了解Auth验证的可以去了解一些,这里不多说。同时,为了防止黑客暴力破解密码,以及提高伪装性,加入了一个He...

【正则表达式】解析命令行参数(附PHP例子)

不知道别人有没有这样的需求,今天下午需要做一个自己的命令系统。需要解析来自用户传递的命令行字符串。例如这样的命令行,把里面的命令和参数都提取出来。cmd -y 10 'test'考虑一般比较常见的兼容,正则表达式可以直接使用。// 带分组名 (?:(?<s>['"])?(?<v>.+?)?(?:(?<!\\)\k<s>)|(?<u>[^'"\s]+)) // 不带分组名 (?:(['"])?(.+?)?(?:(?<!\\)\1)|([^'"\s]+))一个自己写的比较极端的命令行解析情况c...

JS匿名函数如何反复调用自身实践: 动态加载指定JS列表后执行方法.

这个绝对是造轮子,但是程序员不就是为了反复造轮子而生的吗???主要是实践另一个内容,我们经常会使用JS写匿名函数,但我前段时间突然遇到一个问题。我想写一个匿名函数,但是还想反复调用这个匿名函数。但是我真心不想污染全局环境(好吧,是做某些不可告人的事,怕被检测到...)JS的方法函数内,提供了一个 arguments 对象,它主要保存了当前方法调用是传递的参数,同时,还有一个指针变量,指向了本方法本身。我们可以通过这个方法来实现匿名函数反复调用自身的需求。(function(scripts, callback) { var this_function = arguments.cal...

使用Putty的端口映射功能通过跳板机连接到内网FTP服务器上

根据昨天文章的配置,在网站被黑洞时,会有修改服务器上文件的需求。特别像我们这样的被攻击专业户,一黑洞就十天已经是家常便饭了。但是,工作总要继续,网站还是要修改。已经被黑洞的服务器技术是无法通过FTP连接上了。但是,我们可以借用Putty的端口映射功能把内网端口映射出来。具体配置方法如下:一、打开Putty,主机名写跳板机地址;二、左侧选择 “连接”=》“SSH”=》“通道”三、右侧新增映射端口,源端口设置一个本地端口,例如3982;目的地填写目标服务器的IP与端口,比如192.168.1.16:22;点击添加,并应用打开,登录到跳板服务器上。四、本地新开一个Putty或者WinSCP之类...