标签 nginx 下的文章

分类: Linux

Nginx实现301跳转

将老域名后导流到新域名:需要将之前用的www.a.com域名的流量全部跳转到www.b.com实现效果:比如访问 www.a.com/news/123.html自动跳到www.b.com/news/123.html使用Nginx的rewrite命令实现:server { listen 80; server_name www.a.com; rewrite ^/(.*)$ http...

阅读全文 »

分类: Linux

Nginx记录请求分发日志及后端负载的IP

前端nginx接收到请求之后, 需把请求分发到后端WEB服务集群,需要记录分发日志, 来分析后端每台WEB服务器处理的请求数目,日志里面需要记录客户端IP、每个URL请求是哪个后端处理的,nginx配置文件如下: log_format main '$remote_addr - $remote_user [$time_local] "$request" ' ...

阅读全文 »

分类: Linux

平滑升级Nginx到最新版本

Nginx目前爆出在HTTP/2 和 MP4 模块中存在安全漏洞,容易被DOS攻击。Nginx官方于11月6日发布了新版本,用于修复影响 1.15.6, 1.14.1 之前版本的多个安全问题,被发现的安全问题有一种这样的情况 —— 允许潜在的攻击者触发拒绝服务(DoS)状态并访问敏感的信息,见官方公告:http://nginx.org/en/security_advisories.html低...

阅读全文 »

分类: Linux

提取jks证书配置Nginx使其支持https

证书配置在nginx上,对外提供https服务,内部和tomcat做反向代理走http,提取jks证书步骤如下:提取jks证书(keytool命令安装jdk以后就默认安装了)查看jks文件中的entrykeytool -list -keystore server.jks查看是否有entries,如果有下个命令需要加 -srcalias 参数指定entry转换jks文件为p12keytool ...

阅读全文 »

分类: Linux

Nginx请求报Not Allowed 405解决方法

nginx不允许向静态文件提交post方式的请求,否则会返回“HTTP/1.1 405 Method not allowed”错误,解决方法有三种:一、重定向405错误码到200在nginx server{}里面添加以下内容,root为站点的根目录 location ~ (.*\.json) { root html; error_page 405 =20...

阅读全文 »

分类: NetWork

安装sticky模块报错问题解决

sticky 模块在编译进nginx的时候,在以上nginx0.9版本会报错,需要修改源文件:编译时出现错误: cc1: warnings being treated as errors ngx_http_sticky_module.c: In function ‘ngx_http_get_sticky_peer’: /ngx_http_sticky_module.c:333: 警告:赋值时...

阅读全文 »

分类: Linux

Nginx sticky模块实现基于cookie的负载均衡

在多台后台服务器的环境下,我们为了确保一个客户只和一台服务器通信,我们势必使用长连接。使用什么方式来实现这种连接呢,常见的有使用nginx 自带的ip_hash来做,我想这绝对不是一个好的办法,如果前端是cdn,或者说一个局域网的客户同时访问服务器,导致出现服务器分配不均衡,以及不能 保证每次访问都粘滞在同一台服务器。如果基于cookie会是一种什么情形,想想看, 每台电脑都会有不同的coo...

阅读全文 »

分类: Linux

Nginx中使用Realip模块获取用户真实IP地址

Web服务器前端有代理服务器或者nginx做了二次转发或CDN时日志中的$remote_addr可能就不是客户端的真实IP了,IP默认会显示为前端代理的IP了,要获取到真实IP,常用的解决方法有以下三种:1、使用CDN自定义IP头来获取优点:获取到最真实的用户IP地址,用户绝对不可能伪装IP缺点:需要CDN厂商提供CDN厂商使用nginx,那么在nginx上将$remote_addr赋值给你...

阅读全文 »

分类: Python

通过Nginx、Uwsgi快速部署Django

uwsgi:是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。 运行过程: nginx作为服务器的最前端,它将接受WEB的所有请求,统一管理请求。nginx把所有静态请求自己来处理(这是nginx的强项,静态文件像我们django博客项目中的static文件夹下面的图片,css,js)。

阅读全文 »

分类: Linux

nginx的location及rewrite正则表达式

rewrite使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向。rewrite只能放在server{},location{},if{}中,并且只能对域名后边的除去传递的参数外的字符串起作用.rewrite和location功能有点像,都能实现跳转,主要区别在于rewrite是在同一域名内更改获取资源的路径,而location是对一类路径做控制访问或...

阅读全文 »

分类: Linux

Nginx启用gzip压缩及参数说明

gzip(GUN-ZIP)是一种压缩技术,经过gzip压缩后的页面大小可以变成原来的30%或者更小。用户浏览页面的时候速度也会更快,gzip的压缩页面需要服务端于浏览器同时支持,服务端压缩传到浏览器进行解压并解析,现在大多数的浏览器都已经支持解析gzip过的页面gzip使用环境:http,server,location,if(x),一般定义在nginx.conf的http{…..}之间;

阅读全文 »

分类: Linux

Linux系统消除未被及时释放的TIME_WAIT状态的TCP连接

Linux系统下,TCP连接断开后,会以TIME_WAIT状态保留一定的时间,然后才会释放端口。当并发请求过多的时候,就会产生大量的TIME_WAIT状态的连接,无法及时断开的话,会占用大量的端口资源和服务器资源。这个时候我们可以优化TCP的内核参数,来及时将TIME_WAIT状态的端口清理掉。[root@web1 ~]netstat -n | awk '/^tcp/ {++S[$NF]} ...

阅读全文 »

分类: Linux

Nginx的upstream负载均衡参数说明

nginx可以根据客户端IP进行负载均衡,在upstream里设置ip_hash,就可以针对同一个C类地址段中的客户端选择同一个后端服务器,除非那个后端服务器宕了,才剔除:nginx的upstream目前支持的5种方式的分配1、轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。upstream backserver { server 10.10...

阅读全文 »

分类: Linux

Nginx限制某个IP访问

限制某个IP对站点访问,这个有很多方法,比如硬件防火墙、IPTABLES、Web服务器上,也可以在应用里面设置允许的IP,此处以Nginx为例设置,也就是经常说的白名单或黑名单: ip段说明:  段位从小到大排列,如127.0.0.0/24 下面才能是10.10.0.0/16  24表示子网掩码:255.255.255.0  16表示子网掩码:255.255.0.0  8表示子网掩码:2...

阅读全文 »