用Nginx配置https加密站点 nginx学习之一Location,rewrite,防盗链,禁止访问
2013-06-27 17:18
791 查看
一、Nginx安装
安装的时候需要注意加上 –with-http_ssl_module,因为http_ssl_module不属于Nginx的基本模块。
Nginx安装方法:
[c-sharp] view
plaincopy
./configure –user=username –group=groupname –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module
make && make install
二、生成证书(略)
可以使用openssl或ca.ssl生成,结果生成如下两个文件:
[c-sharp] view
plaincopy
server.crt
server.key
如果是apache,直接将这两个文件引入到httpd.conf中,而Nginx需要的是.pem文件。.pem的生成方法很简单,就是合并server.crt、server.key的内容。
三、修改Nginx配置:
[c-sharp] view
plaincopy
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;
}
分享到:
上一篇:n
安装的时候需要注意加上 –with-http_ssl_module,因为http_ssl_module不属于Nginx的基本模块。
Nginx安装方法:
[c-sharp] view
plaincopy
./configure –user=username –group=groupname –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module
make && make install
二、生成证书(略)
可以使用openssl或ca.ssl生成,结果生成如下两个文件:
[c-sharp] view
plaincopy
server.crt
server.key
如果是apache,直接将这两个文件引入到httpd.conf中,而Nginx需要的是.pem文件。.pem的生成方法很简单,就是合并server.crt、server.key的内容。
三、修改Nginx配置:
[c-sharp] view
plaincopy
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;
}
分享到:
上一篇:n
相关文章推荐
- nginx学习之一Location,rewrite,防盗链,禁止访问
- nginx利用Location,rewrite模块防盗链,禁止访问
- nginx利用Location,rewrite模块防盗链,禁止访问
- NGINX配置HTTPS加密反向代理访问–自签CA
- linux学习第四十六篇:Nginx防盗链,Nginx访问控制,Nginx解析php相关配置,Nginx代理
- NGINX之——配置HTTPS加密反向代理访问–自签CA
- 用Nginx配置https加密站点
- 运维学习之Apache的配置、访问控制、虚拟主机和加密访问https
- 什么是ssl证书,什么是https,nginx如何配置ssl证书,兼容https与http同时访问站点
- Nginx 安装配置 禁止使用IP访问 rewrite重写 别名设置 日志轮询
- 浏览器低版本chrome内核(<50)访问不了某https网站,nginx配置ssl_ciphers加密选项
- 用Nginx配置https加密站点
- nginx location rewrite 禁止访问某个目录
- Centos7.2下Nginx配置SSL支持https访问(站点是基于.Net Core2.0开发的WebApi)
- nginx 学习笔记(9) 配置HTTPS服务器--转载
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
- apache配置,禁止ip访问web站点
- Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https? HTT
- nginx配置location总结及rewrite规则写法【转】
- Ubuntu Nginx下配置网站ssl实现https访问