利用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实现禁用或清理Cookies后Session依旧可以还原并可用。

按照正常的逻辑,在禁用浏览器的Cookies后,或者客户端清理Cookies后,我们服务端的Session使用是会受影响的。禁用Cookies时,Session也不可用,通过GET等方式提交SessionId时,也会受到标签页关闭影响而消失。清理Cookies后,我们就会丢失之前用户的Session信息。那么,禁用或清理Cookies后就真的没什么好办法么???其实是有的,我这里写了个简单的例子,证明禁用或清理Cookies后,重新访问页面依然可以恢复原有的Session Id。测试页面:TestDemo - Session Id在这个页面,你可以尝试禁用浏览器Cookies或者清理Co...

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

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

Shell脚本,自动备份网站和数据库

整理文件,把自己之前修改的自动备份网站的脚本发上来吧。自动获取所有数据库并备份。自动获取多个网站根目录下的所有网站并备份自动备份Nginx配置文件自动删除N天前的备份文件以上...#!/bin/bash # 备份网站和数据库 # 作者: ImDong <www@qs5.org> # 网站: http://www.qs5.org # 作者: 本修改版基于 LNMP.org 的 backup.sh 修改而成 # 功能说明: # 1.自动获取所有 Mysql 数据库自动备份 # 2.指定需要备份的网站根目录,自动备份下面所有的网站(分开) 而且支持多个根目录 # # 使用说...

Swoole长连接服务不中断服务进行热更新实例

首先,感谢 “ShenZhe” ,参考了他的 swoole之代码热更新实现。听别人说,我这次又造轮子了?可我母鸡啊!都在代码里了,不太多废话。我就当写了一个基本的单实例支持热更新的应用框架吧。以后写东西,可以拿过来就用了。基本实现了以下几个功能:一、单例模式,防止重复运行二、热更新,应用更新不用重启三、进程管理脚本,免除手动启动停止应用。四、不知道...测试示例截图,服务端应用版本从 “1.0.c170430.d” 升级到 “1.0.c170430.e”客户端连接没有中断,无缝升级。项目开源地址:GitHub / OSC由于本人还在学习阶段,感谢大神不吝赐教。

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之类...

使用阿里云服务器时被DDOS到黑洞时的一种解决方案

使用阿里云ECS服务器容易被DDOS进黑洞而又没钱购买DDOS高防IP时。并不是没有其他的解决办法,因为有很多ISP提供价格较为低廉的高防服务器。每个月也才几千块钱,相较阿里云动辄几万每月的高防服务,确实便宜了很多。本文根据自己的需要,说明了一下如何使用第三方高防服务器为自己清洗流量。首先,看一下目前使用的流程逻辑。平时用户端直接访问阿里云的应用服务器。被攻击时,将域名解析到高防IP上,通过Nginx反向代理回源到阿里云服务器上。由于阿里云服务器被DDOS时会进黑洞,所以加了一个用来将外网请求映射到内网的代理服务器。为了提高被攻击时的网站打开速度,高防服务器上会使用静态文件缓存。减少向后...

【总结&计划】依旧平凡但没那么平淡的贰零一陆,应该更有想象力的2017。

今天看到好多年度总结的文章,感觉自己是不是也应该写几个字装逼表示一下。总结2016年说平凡,是因为和往年没太多的区别,现在想想,竟然完全不记得自己2016年都做过什么... 不平淡,是因为来到深圳以后,虽然还是上班下班,但是好在深圳可以去的地方还算多,周末不用完全是待在电脑前了,周末出去走一走也挺好的。 条件的提升,带来了品质的提升。 但是,2016年依旧是浑浑噩噩,没有做出突出的事情,关键问题一个没解决。 以前的老毛病依旧,又学会了一些新毛病。 好的方面也有,尝试了一些以前不敢尝试的新事物。 敢于正视自己身上一些突出的问题了(然而并没有改变)... 去年没做计划,所以也没得总结。 计...

最近回复

标签