前言
前段时间接了个小活,要求是在nginx层面实现简繁体转换。一般正常的简繁转换都会放在前端页面的JS来实现,为何会要求在nginx层面实现呢?问过客户后,发现是要反向代理其它网站。具体的用途我也没好意思深究,我还是只管好好实现功能就完了。
前段时间接了个小活,要求是在nginx层面实现简繁体转换。一般正常的简繁转换都会放在前端页面的JS来实现,为何会要求在nginx层面实现呢?问过客户后,发现是要反向代理其它网站。具体的用途我也没好意思深究,我还是只管好好实现功能就完了。
真正的懒癌晚期患者(缺钱也治不了),懒到不想给服务器做安全加固,就靠着复杂的数字字母混合16
位密码保障着。前段时间看了看/var/log/secure
文件,吓到了,好几个IP
登录ssh
失败,有近十万次之多。网上的闲人是真不少啊,网站没几个正经访客,各种扫描的倒是每天都有近千IP
。还是得出手干活啊,不然哪天真攻破了服务器,也对不起自己的专业了。
手里服务器大部分centos7
,只有两台debian9
,方案上自然选择fail2ban+firewall
了。
去年自己写的一段代码了,那时候想出门在外也能访问到家里的服务器,后来大部分照片、视频都已经搬到云端,也就没怎么维护过了,正常运行了好几个月,应该还是可以的。今天看到论坛里有网友还在想怎么实现外网获取家宽的动态外网IP
,就想着干脆写下来,权当记录了。代码不多,只是用的阿里服务器相关的API
去操作域名记录,这块自己去官网上看看吧。
昨天晚上写一个sqlite
数据转移的程序,本地运行得很不错,想着很快打完收工了,哪知道放服务器上就开始各种报错,各种头巨大。。。
报错一:
Traceback (most recent call last):
File "read_sqlite3.py", line 12, in <module>
cursor.execute(sql)
sqlite3.OperationalError: no such table: *****s
报错二:
sqlite> .databases
Error: malformed database schema (*****s_idx) - near "WITHOUT": syntax error
憋了一晚上没什么进展,早上准备睡觉了,觉得程序还是可以抢救一下,又开始在网上各种找原因,后来想起数据库是第三方开源程序写成,并不是官方程序,最后才让我发现,原来是python
自带的sqlite3
组件版本不一致造成。
大家好,这次我们来讲讲如何通过简单的配置文件来实现nginx防御攻击的效果。
其实很多时候,各种防攻击的思路我们都明白,比如限制IP啊,过滤攻击字符串啊,识别攻击指纹啦。可是要如何去实现它呢?用守护脚本吗?用PHP在外面包 一层过滤?还是直接加防火墙吗?这些都是防御手段。不过本文将要介绍的是直接通过nginx的普通模块和配置文件的组合来达到一定的防御效果。