Nginx 的HTTPS 服务

产生证书

说明

这里我们自己做测试,可以自己产生证书,但是我们的浏览器会提示证书不受信任,如果运行在互联网的应用推荐去购买HTTPS证书。

使用openssl产生一个RSA的密钥

Shell># openssl genrsa -des3 -out server.key 1024

拷贝一个无需输入密码的密钥文件

Shell># openssl rsa -in server.key  -out server_nopass.key

生成一个证书请求文件

Shell># openssl req -new -key server.key -out server.csr

自己给自己签发证书

Shell># openssl x509 -req -days 1200 -in server.csr  -signkey server.key  -out server.crt

 

创建密码存放目录,并修改权限

Shell># mkdir /var/openssl

Shell># mv server* /var/openssl

Shell># chown –R nginx /var/openssl

配置Nginx

Shell>#vi /etc/nginx/nginx.conf

user nginx;

worker_processes  1;

events {

       use  epoll

       worker_connections  1024;

       multi_accept  on;

}

http {

     include       mime.types;

     default_type   application/octet-stream;

     sendfile        on;

     keepalive_timeout  65;

       server  {

         listen       443;

         server_name  localhost;

           ssl on;

           ssl_certificate /var/openssl/server.crt;

           ssl_certificate_key /var/openssl/server_nopass.key;

         location / {

            root   /var/www/html/;

             index  index.html index.htm;

         }

         error_page   500 502 503  504  /50x.html;

         location = /50x.html {

             root   html;

         }

    }

   

}

重启nginx,然后开放443端口。

测试,我们可以尝试是使用https访问我们的系统站