存档

‘Nginx使用及开发’ 分类的存档

Nginx ssl 一些问题

2017年11月2日 没有评论

官网说明:

Syntax:	ssl on | off;
Default:	
ssl off;
Context:	http, server
Enables the HTTPS protocol for the given virtual server.

It is recommended to use the ssl parameter of the listen directive instead of this directive.

这个是nginx官网对ssl的说明,官方建议采用监听在端口上设置ssl 如:listen 443 ssl;但是nginx没说为什么,下面通过测试了解下工作过程。

server {
listen 80;
listen 443;
server_name abc.x.com;
root /data/www
#index.html;
ssl on;
}

如果在server Context 内设置ssl on,且此server在http Context是第一个server,那么这个server所监听的所有端口(这里是80和443,其他端口也如此),都会绑定ssl协议,在配置之后的server context时,如果想使用80端口作为http端口使用,访问时则会报错400 Bad Request,The plain HTTP request was sent to HTTPS port。

如果不想被占用,两个办法
方法 一

http {
server {
listen 80;
server_name foo.x.com;
root /data/www
#index.html;
}

server {
listen 80;
listen 443;
server_name abc.x.com;
root /data/www
#index.html;
ssl on;
}

}

在配置ssl on;的server之前,配置一个http plain的server,这样80端口就会被绑定在http plain上了。(此方法属于奇技淫巧)
通过实际测试,nginx的端口应该是哪个协议先占用端口,之后这个端口在全局范围内就只能使用这个协议了。

方法二

server {
listen 80;
listen 443  ssl;
server_name abc.x.com;
root /data/www
#index.html;
}

通过监听listen 443 ssl; 来配置,这样就精确指定某个端口采用ssl协议了,不会影响其他端口。

这就是nginx官方为啥推荐采用listen 443 ssl;的原因吧
-简单备忘下,写的比较水

分类: Nginx使用及开发 标签:

Nginx 应用测试2小例

2013年10月15日 1 条评论

1 upstream max_fails fails_timeout 测试
测试机
前端转发:10.23.16.119
后端A:10.23.16.120
后端B:10.8.19.156
nginx upstream

A,B 两台后端,如果B宕机了,nginx会把请求到B的的request转发到A处,日志中的$upstream_addr参数可以记录该过程如

10.2.128.241 – - [15/May/2012:15:15:27 +0800] [0.063] [0.062, 0.001] “GET / HTTP/1.1″ 200 55 “-” “Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0″ “10.8.19.156:80, 10.23.16.120:80″
阅读全文…

分类: Nginx使用及开发 标签:

Nginx rewrite对post数据的影响

2013年9月26日 1 条评论

一、rewrite 对post影响
昨天有个同事跟我咨询他的post请求,rewrite 之后,post的数据没有传过去。遂跟他要了下配置,示意如下:

{
servername bar.com
 location /abc {
 rewrite ^ http://foo.com/abc;
}
}

看到配置就不难理解了,原因是如果rewrite 后面的参数是以http开头,那么实际就是会redirect,给客户端返回临时重定向302,这时客户端会收到302后对foo.com发起get请求(通过firebug跟踪可见)。所以之前的post请求的数据就不复存在了。上面这种情况应该使用反向代理proxy_pass。
阅读全文…

nginx module OR nginx cgi

2013年6月28日 1 条评论

nginx module OR nginx cgi

分类: Nginx使用及开发 标签:

test5

2013年6月6日 没有评论

test5

分类: Nginx使用及开发 标签: