分类目录归档:网络服务

使用nginx后如何获取用户ip及原理解释

问题背景:

在实际应用中,我们可能需要获取用户的ip地址,比如做异地登陆的判断,或者统计ip访问次数等,通常情况下我们使用request.getRemoteAddr()就可以获取到客户端ip,但是当我们使用了nginx作为反向代理后,使用request.getRemoteAddr()获取到的就一直是nginx服务器的ip的地址,那这时应该怎么办? 继续阅读

Nginx location匹配规则

一、匹配命令

  • ~      表示执行一个正则匹配,区分大小写
  • ~*    表示执行一个正则匹配,不区分大小写
  • ^~    表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录
  • =      进行普通字符精确匹配
  • @     定义一个命名的 location,使用在内部定向时,例如 error_page, try_files

继续阅读

Nginx upstream的分配方式

1、轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

2、weight

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

继续阅读

CentOS下查看SeLinux状态及关闭

setenforce是Linux的selinux防火墙配置命令 执行setenforce 0 表示关闭selinux防火墙。
setenforce命令是单词set(设置)和enforce(执行)连写,另一个命令getenforce可查看selinux的状态。

一、查看SELinux状态:

/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态
SELinux status:            enabled
Current mode:              permissive

SELinux status:            enabled
Current mode:              enforcing

继续阅读

sendfile详解

在apache,nginx,lighttpd等web服务器当中,都有一项sendfile相关的配置,在一些网上的资料都有谈到sendfile会提升文件传输性能,那sendfile到底是什么呢?它的原理又是如何呢?

继续阅读

虚拟主机 Virtual Host 的设置

一、应用场景

 +--------------+----------------+---------------------+
 | 域名          | 主机ip         | 对应的主目录          |
 +--------------+----------------+---------------------+
 | www.100.com  |192.168.80.135  | /var/www/html       |
 | bbs.100.com  |192.168.80.135  | /var/www/html/bbs   |
 | sns.100.com  |192.168.80.135  | /var/www/html/sns   |
 | ftp.100.com  |192.168.80.135  | /var/www/ftp        |
 +--------------+----------------+---------------------+

继续阅读

如何创建目录保护

一、应用场景

1111在浏览器中,输入http://www.100.com/whoami_/,弹出对话框要求验证用户名、密码。
http://www.100.com 本地设置了Host,并非真正的www.100.com,-_-!
/whoami_/ 数据库管理PHPMyAdmin目录,所以目录的安全级别要求很高。
继续阅读

如何配置https

测试环境:CentOS release 6.6 (Final)

一、Yum安装mod_ssl模块

1、检查是否安装

# yum list | grep mod_ssl

2、未安装,执行下面代码安装

# yum install mod_ssl.x86_64 继续阅读

vsftpd安装及配置

vsftpd英文全称very secure file transfer protocol deamon,是FTP服务器端软件中,比较常见的一种。从网上了解到ftp服务器端的软件有vsftpd 、serv-u、proftpd、FileZilla Server等,这里主要介绍vsftpd配置。

本机测试环境:CentOS release 6.6 (Final)

一、安装

1、检查是否安装

# yum list installed | grep vsftpd

2、未安装,进行yum安装

# yum install vsftpd.x86_64 继续阅读

ab压力测试工具

ab是apache自带的一种压力测试工具。ab可以直接在Web服务器本地发起测试请求,这至关重要,因为有些时候我们需要测试的仅仅是服务器的 处理性能,并不想掺杂着网络传输时间的影响。ab进行一切测试的本质都是基于HTTP的,所以可以说ab对于Web服务器软件的黑盒性能测试,获得的一切 数据和计算结果,都是可以通过HTTP来解释的。 继续阅读