How to setup a HTTPS site

Recently I am going to use SSL on my site. Some important steps were record here for your information.

Generate CSR (Certificate Signing Request)

$ openssl genrsa -out domain.key 2048
$ openssl req -new -key domain.key -out domain.csr

Remove the key's password

$ openssl rsa -in memodir.key -out memodir_server.key

CA certification

$ openssl req -new -x509 -days 3650 -key memodir_server.key -out memodir_server.crt
$ cat  memodir_server.crt >> sub.class2.server.ca.pem
$ mv  sub.class2.server.ca.pem memodir_server_all.crt

Config the cert and keys in nginx config file

server {
    listen 443;
    server_name localhost;
      ssl on;
     ssl_certificate server.crt; 
     ssl_certificate_key server.key; 
     location / {
         root html;
       index index.html index.htm;
     }
}
$ service nginx restart