在Nginx服务器中启用SSL的配置方法

生成证书
可以通过以下步骤生成一个简单的证书:
首先,进入你想创建证书和私钥的目录,例如:

  $ cd /usr/local/nginx/conf  

创建服务器私钥,命令会让你输入一个口令:

  $ openssl genrsa -des3 -out server.key 1024  

创建签名请求的证书(CSR):

  $ openssl req -new -key server.key -out server.csr  

在加载SSL支持的Nginx并使用上述私钥时除去必须的口令:

  $ cp server.key server.key.org  $ openssl rsa -in server.key.org -out server.key    

启用一个 SSL 虚拟主机

在nginx.conf配置文件中编写:

  server {     listen 443;     server_name example.com;       root /apps/www;     index index.html index.htm;       ssl on;     ssl_certificate /etc/nginx/ssl/nginx.crt;     ssl_certificate_key /etc/nginx/ssl/nginx.key;    #    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;  #    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;  #    ssl_prefer_server_ciphers on;    }    

其中 ssl_certificate 表示 CA 文件,ssl_certificate_key 表示密钥文件。

如果想把 http 请求强制转到 https,可以这样:

  server {  listen   80;  server_name example.me;    return 301 https://$server_name$request_uri;  }    

参与评论