nginx ssl的安装和配置

前段时间搞了一下apache的ssl,今天有时间把nginx的也搞了一下。关于证书的生成在这儿就不多说了了,请参考前面写过的openssl建立证书,非常详细配置ssl+apache,本文用的证书就是前段时间用openssl生成的。

一,安装nginx

如果你已经安装过nginx的话,看一下你安装的时候,有没有安装ssl模块(http_ssl_module),有的话说明支持ssl,如果没有呢,就要重新编译一下nginx了,我一直没发现nginx有添加模块的工具,不像apache自带有一个工具apxs,可以添加apache模块,不要重新编译apache。如果有人知道不知,可否告诉我一下,先谢谢了。

  
    
1 [root@BlackGhost sbin]# ./nginx -V
2 nginx version: nginx/ 0 . 8 . 15
3 built by gcc 4 . 4 . 1 (GCC)
4 configure arguments: --user=zhangy --group=users --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/home/zhangy/pcre- 7 . 9
  

如果没有发现–with-http_ssl_module这个东西的话,加上去,重新编译一下就好了。

二,配置nginx.conf

将在apahce下生成的证书copy到nginx下面

cp -R /usr/local/apache/conf/ssl /usr/local/nginx/conf/

建一个ssl.conf

  
    
1 vi ssl.conf
2
3 ssl on ;
4   ssl_certificate /usr/local/nginx/conf/ssl/server.crt ;
5   ssl_certificate_key /usr/local/nginx/conf/ssl/server.key ;
6  
7 vi nginx.conf
8 server
9 {
10 listen 443 ;
11   server_name : 443 ;
12   index index.html index.htm index.php ;
13 root /home/zhangy/www/ test ;
14 include ssl.conf ;
15 keepalive_timeout 60 ;
16
17 location /
18 {
19 #fastcgi_pass unix: /tmp/php-cgi.sock ;
20 fastcgi_pass 127 . 0 . 0 . 1 : 9000 ;
21 fastcgi_index index.php ;
22 include fcgi.conf ;
23 }
24
25 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
26 {
27 expires 3 0d ;
28 }
29
30 log_format ssltest ' $remote_addr - $remote_user [$time_local] "$request" '
31 ' $status $body_bytes_sent "$http_referer" '
32 ' "$http_user_agent" $http_x_forwarded_for ' ;
33 access_log /var/log/ssl.log ssltest ;
34 }
到这儿基本上就配置好了。

三,启动nginx和php-cgi,测试ssl

[root@BlackGhost sbin]# /usr/local/nginx/sbin/nginx
Enter PEM pass phrase:

在这里填的密码是服务器证书的密码

nginx ssl的安装和配置

转:http://blog.51yip.com/apachenginx/974.html

你可能感兴趣的:(nginx)