前段时间搞了一下apache的ssl,今天有时间把Nginx的也搞了一下。关于证书的生成在这儿就不多说了了,请参考前面写过的openssl建立证书,非常详细配置ssl+apache,本文用的证书就是前段时间用openssl生成的。
一,安装Nginx
如果你已经安装过Nginx的话,看一下你安装的时候,有没有安装ssl模块(http_ssl_module),有的话说明支持ssl,如果没有呢,就要重新编译一下Nginx了,我一直没发现Nginx有添加模块的工具,不像apache自带有一个工具apxs,可以添加apache模块,不要重新编译apache。如果有人知道不知,可否告诉我一下,先谢谢了。
[root@BlackGhost sbin]# ./Nginx -V Nginx version: Nginx/0.8.15 built by gcc 4.4.1 (GCC) 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
cp -R /usr/local/apache/conf/ssl /usr/local/Nginx/conf/
建一个ssl.conf
vi ssl.conf ssl on; ssl_certificate /usr/local/Nginx/conf/ssl/server.crt; ssl_certificate_key /usr/local/Nginx/conf/ssl/server.key; vi Nginx.conf server { listen 443; server_name :443; index index.html index.htm index.PHP; root /home/zhangy/www/test; include ssl.conf; keepalive_timeout 60; location / { #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.PHP; include fcgi.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } log_format ssltest '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for'; access_log /var/log/ssl.log ssltest; }
到这儿基本上就配置好了。
[root@BlackGhost sbin]# /usr/local/Nginx/sbin/Nginx
Enter PEM pass phrase:
在这里填的密码是服务器证书的密码
四,参考文档
原文链接:https://www.f2er.com/nginx/447358.html