在Nginx服务器中启用SSL的配置方法
生成证书
可以通过以下步骤生成一个简单的证书:
首先,进入你想创建证书和私钥的目录,例如:
$cd/usr/local/nginx/conf
创建服务器私钥,命令会让你输入一个口令:
$opensslgenrsa-des3-outserver.key1024
创建签名请求的证书(CSR):
$opensslreq-new-keyserver.key-outserver.csr
在加载SSL支持的Nginx并使用上述私钥时除去必须的口令:
$cpserver.keyserver.key.org $opensslrsa-inserver.key.org-outserver.key
启用一个SSL虚拟主机
在nginx.conf配置文件中编写:
server{
listen443;
server_nameexample.com;
root/apps/www;
indexindex.htmlindex.htm;
sslon;
ssl_certificate/etc/nginx/ssl/nginx.crt;
ssl_certificate_key/etc/nginx/ssl/nginx.key;
#ssl_protocolsSSLv3TLSv1TLSv1.1TLSv1.2;
#ssl_ciphersALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
#ssl_prefer_server_cipherson;
}
其中ssl_certificate表示CA文件,ssl_certificate_key表示密钥文件。
如果想把http请求强制转到https,可以这样:
server{
listen80;
server_nameexample.me;
return301https://$server_name$request_uri;
}