用Nginx配置https加密站点 nginx学习之一Location,rewrite,防盗链,禁止访问
来源:互联网 发布:淘宝网手提包女小包 编辑:程序博客网 时间:2024/05/10 01:45
一、Nginx安装
安装的时候需要注意加上 –with-http_ssl_module,因为http_ssl_module不属于Nginx的基本模块。
Nginx安装方法:
- ./configure –user=username –group=groupname –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module
- make && make install
二、生成证书(略)
可以使用openssl或ca.ssl生成,结果生成如下两个文件:
- server.crt
- server.key
如果是apache,直接将这两个文件引入到httpd.conf中,而Nginx需要的是.pem文件。.pem的生成方法很简单,就是合并server.crt、server.key的内容。
三、修改Nginx配置:
- server
- {
- listen 443;
- server_name test.sina.com.cn;
- ssl on;
- ssl_certificate /tmp/server.pem;
- ssl_certificate_key /tmp/server.key;
- ssl_session_timeout 5m;
- ssl_protocols SSLv2 SSLv3 TLSv1;
- ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
- ssl_prefer_server_ciphers on;
- }
_______________________________________________________________________________________________
一、介绍Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.
二、Location语法语法:location [=|~|~*|^~] /uri/ { … }
注:
1、~ 为区分大小写匹配
2、~* 为不区分大小写匹配
3、!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
示例一:
location / { }
匹配任何查询,因为所有请求都以 / 开头。但是正则表达式规则将被优先和查询匹配。
示例二:
location =/ {}
仅仅匹配/
示例三:
location ~* /.(gif|jpg|jpeg)$ {
rewrite /.(gif|jpg)$ /logo.png;
}
注:不区分大小写匹配任何以gif,jpg,jpeg结尾的文件
三、ReWrite语法
last – 基本上都用这个Flag。
break – 中止Rewirte,不在继续匹配
redirect – 返回临时重定向的HTTP状态302
permanent – 返回永久重定向的HTTP状态301
1、下面是可以用来判断的表达式:
-f和!-f用来判断是否存在文件
-d和!-d用来判断是否存在目录
-e和!-e用来判断是否存在文件或目录
-x和!-x用来判断文件是否可执行
2、下面是可以用作判断的全局变量
例:http://localhost:88/test1/test2/test.php
$host:localhost
$server_port:88
$request_uri:http://localhost:88/test1/test2/test.php
$document_uri:/test1/test2/test.php
$document_root:D:/nginx/html
$request_filename:D:/nginx/html/test1/test2/test.php
四、Redirect语法
server {
listen 80;
server_name start.igrow.cn;
index index.html index.php;
root html;
if ($http_host !~ “^star/.igrow/.cn$" [点击图片可在新窗口打开] {
rewrite ^(.*) http://star.igrow.cn$1 redirect;
}
}
五、防盗链location ~* /.(gif|jpg|swf)$ {
valid_referers none blocked start.igrow.cn sta.igrow.cn;
if ($invalid_referer) {
rewrite ^/ http://$host/logo.png;
}
}
六、根据文件类型设置过期时间
location ~* /.(js|css|jpg|jpeg|gif|png|swf)$ {
if (-f $request_filename) {
expires 1h;
break;
}
}
七、禁止访问某个目录
location ~* /.(txt|doc)${
root /data/www/wwwroot/linuxtone/test;
deny all;
}
- 用Nginx配置https加密站点 nginx学习之一Location,rewrite,防盗链,禁止访问
- nginx学习之一Location,rewrite,防盗链,禁止访问
- nginx Location,rewrite,防盗链,禁止访问
- nginx利用Location,rewrite模块防盗链,禁止访问
- 用Nginx配置https加密站点
- Nginx 配置 https 加密
- Nginx Location配置总结及rewrite
- 【Nginx】Location配置总结及rewrite
- Nginx的location和rewrite配置语法
- Nginx Location配置和ReWrite 语法
- nginx配置location及rewrite写法
- nginx配置防盗链
- nginx防盗链配置
- nginx防盗链配置
- nginx防盗链配置
- nginx 防盗链配置
- nginx防盗链配置
- Nginx配置https访问
- iOS 消息推送原理及实现总结
- LR的一些问题
- node.js在Ubuntu 12.04下的安装和配置
- 授权加密教程---之---超文本标记语言程序加密授权
- System.Web.Caching 缓存管理3
- 用Nginx配置https加密站点 nginx学习之一Location,rewrite,防盗链,禁止访问
- Quality Tools for Android
- flex4.6 图片裁剪小示例
- 分析命令行参数——getopt
- 深入理解java嵌套类和内部类、匿名类
- 常去的UED网站
- source insight 使用技巧
- Android TabHost,TabWidget选项卡总结
- 基于Github参与开源项目指南(以eoe的Android客户端为例)