Loading...
AndyX.Net – 安迪克斯

Nginx中的Https安全与兼容性配置详细指南

Posted Posted in Web, 域名/SSL, 建站, 运维

自从MySSL推出之后,很多网站HTTPS检测评分都达到了A或者A+,但在看检测结果的时候,发现类似于百度和淘宝这类大用户群的网站居然没有评级到A或者在使用的加密套件上有橙色的加密套件,这就让我们非常诧异,难道是这些个网站不注重安全么?如果说百度评级不高,那还能说得过去,毕竟在搜索的时候没啥重要信息,牺牲一点安全性获取极致的兼容性。但是淘宝这种电商不应该不会不重视网站的安全性。那又是什么原因让这些网站造成了这种情况呢?通过仔细的观察报告结果和查询资料发现,这些网站这样做的原因是为了更好的兼容性。

….[阅读全文]

一种将Nginx与Elasticsearch连用的方案

Posted Posted in Web, 笔记, 菜鸟, 运维

Elasticsearch是一种先进的,高性能的,可扩展的开源搜索引擎,提供全文搜索和实时分析的结构化和非结构化的数据。

它的特定是可以通过HTTP使用 RESTful API,很容易的融入现有的web架构。因此在高并发的情况下,采用nginx反向代理负载均衡到多台Elasticsearch 服务器上。 ….[阅读全文]

Nginx启用socket后端连接方式优化php-fpm性能

Posted Posted in Web, 入门, 菜鸟, 运维

通常Nginx连接fastcgi的方式有2种:TCP和unix domain socket

什么是Unix domain socket?—— 维基百科
Unix domain socket 或者 IPC socket是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信。与管道相比,Unix domain sockets 既可以使用字节流和数据队列,而管道通信则只能通过字节流。Unix domain sockets的接口和Internet socket很像,但它不使用网络底层协议来通信。Unix domain socket 的功能是POSIX操作系统里的一种组件。

Unix do ….[阅读全文]

配置Nginx防止web服务器被压力测试

Posted Posted in Web, 入门, 菜鸟, 运维

最近经常用人帮忙做压力测试(参考文章:菜鸟的第一次web压力测试:ab命令参数详解),用webbech或者ab等一些工具模拟并发压服务器,若服务器没有限制连接数或带宽,服务器很容易被压跨。

以下是防止压力测试的nginx配置文件(http段落):
cat /usr/local/nginx/conf/nginx.conf

http {

limit_conn_zone $binary_remote_addr zone=one:10m;

}

#如果在1.1.8之后版本还用语法:limit_zone name $variable size,会报警告ng ….[阅读全文]

折腾nginx之详细配置笔记(开启ssl/nginx参数调优/开启http2/开启XSS保护)

Posted Posted in Web, 经验, 菜鸟, 运维

本文只是记录一些折腾 nginx 配置的收获。

先说下启用 HTTPS 吧。
其实迁移博客的时候,我就已经启用了 HTTPS,只是没强制跳转而已。这半年多来好像没遇到什么问题,所以应该可以放心用了。

要启用 HTTPS 自然需要一个证书。没什么需求的话,弄个免费的就行了。我阴差阳错地选择了 StartSSL。
网上有教程,我就不详述怎么申请了,基本流程如下:

  1. 生成一个加密的 key 文件:
    openssl genrsa -des3 -out example.com_secure.key 4096
    需要输入密码,自己记住。
  2. 生成 CSR 文件:
    op ....[阅读全文]

引入Nginx线程池功能使性能提升9倍!

Posted Posted in Web, 笔记, 菜鸟, 运维

前言
Nginx以异步、事件驱动的方式处理连接。传统的方式是每个请求新起一个进程或线程,Nginx没这样做,它通过非阻塞sockets、epoll、kqueue等高效手段,实现一个worker进程处理多个连接和请求。

一般情况下下是一个CPU内核对应一个worker进程,所以worker进程数量固定,并且不多,所以在任务切换上消耗的内存和CPU减少了。这种方式很不错,在高并发和扩展能力等方面都能体现。

看图说话,任务切换不见了。

但是异步事件模式很不喜欢阻塞(blocking)。很多第三方模块使用了阻塞模式的调用,有时候,用户乃至模块作者都不知道到阻塞调用会大大降低 ….[阅读全文]

使用Nginx配置规则简单防止SQL注入/XSS攻击

Posted Posted in Web, 经验, 菜鸟, 运维

最近发现网站访问特别缓慢,甚至出现504错误,通过top -i命令查看服务器负载发现负载数值飙升到4.9之多了,并且持续时间越来越频繁直至持续升高的趋势,还以为是被攻击了,对来访IP进行了阈值限制后效果并不是很明显,CDN服务里限制几个主要IP效果依然不是很明显,估计这应该是被恶意扫描攻击了。

通过服务器waf的日志记录分析得出基本都是SQL注入、XSS攻击范畴,这些攻击都绕过了CDN缓存规则直接回源请求,这就造成PHP、MySQL运算请求越来越多,服务器负载飙升就是这个原因造成的,在日志里可以看到几乎大部分都是 GET/POST 形式的请求,虽然waf都完美的识别和拦截了,但是 ….[阅读全文]

Nginx使用X-Frame-Options避免xss攻击/劫持攻击/js脚本攻击的简易方法

Posted Posted in Web, 入门, 菜鸟, 运维

将以下Nginx配置代码写入http-server段落下:
http {
server {
add_header X-Frame-Options “SAMEORIGIN”;
add_header X-XSS-Protection “1; mode=block”;
add_header X-Content-Type-Options “nosniff”;


修改nginx服务器配置,添加X-frame-options响应头。赋值有如下三种: ….[阅读全文]

如何使用Nginx+htpasswd实现web加密访问

Posted Posted in Web, 入门, 菜鸟, 运维

有的时候我们可能会有这么一种需求,就是你的网站并不想提供一个公共的访问或者某些页面不希望公开,我们希望的是某些特定的客户端可以访问。那么我们可以在访问时要求进行身份认证,就如给你自己的家门加一把锁,以拒绝那些不速之客。
htpasswd安装
htpasswd工具是httpd组件的一部分,在Linux中需要先安装 httpd-tools包 才可实现加密文件的生成:

CentOS为例yum安装:yum  install  httpd-tools

Ubuntu为例apt安装:apt  install  httpd-tools

然后就通过htpasswd生成密码文件:

ht ....[阅读全文]

超好用的Nginx日志分析工具GoAccess使用详解

Posted Posted in 监控, 笔记, 菜鸟, 运维

如果把运维看做是医生给病人看病,则日志就是病人对自己的陈述,很多时候医生需要通过对病人的描述中得出病人状况,是否严重,需要什么计量的药,什么类型的药。所以古人有句话叫对症下药,这个症就是病人的描述加医生的判断,在重一点的病在加上很多的化验。在医生看病时病人的描述和化验单上的数据对医生是非常重要的。同理日志在运维中的作用也是类似的,但非常不幸,日志在很多运维中被严重低估,直到磁盘空间不足的时候才想到,这有个大的日志文件把他删了,这样可以节省空间。

….[阅读全文]