配置比较简单,以阿里云为例,先要购买ssl证书。有贵也有免费的。根据自己情况选择。购买成功后,根据自己的服务器类型选择对应的证书下载。具体配置步骤如下。以nginx配置一个单域名的SSL为例
1、 把下载的pem、key的打包文件,上传服务器上,路径可以自己定义。推荐上传到nginx的默认安装目录。我是放在/etc/nginx 目录下创建了一个cert文件夹下。
2、在默认配置/etc/nginx/conf.d 下的default.conf 里。添加SSL
server {
listen 443 ssl;
ssl_certificate cert/[x](http://www.yihuixiangxuan.com/4606514_www.yihuixiangxuan.com.pem;)xx.pem; #根据自己的路径配置
ssl_certificate_key cert/xxx.key; #根据自己的路径配置
ssl_session_cache shared:SSL:100m;
ssl_session_timeout 100m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
charset utf-8;
server_name[www.](http://www.yihuixiangxuan.com;/)xxx.com; # 证书对应的域名
root xxxx; #官网的源码路径;
}
3、wq保存后,重启nginx。
Nginx -re reload。
如果没报错说明成功了。
常见错误有
如果重启Nginx服务器出现报错the "ssl" parameter requires ngx_http_ssl_module,您需要重新编译Nginx并在编译安装的时候加上--with-http_ssl_module配置。
如果重启Nginx服务器出现报错"/cert/3970497_pic.certificatestests.com.pem":BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/cert/3970497_pic.certificatestests.com.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file),您需要去掉证书相对路径最前面的/。例如,您需要去掉/cert/3970497_pic.certificatestests.com.pem最前面的/,使用正确的相对路径cert/3970497_pic.certificatestests.com.pem。
4、 如果需要配置xxx.com 跳转到https://www.xxx.com ,需要在80端口配置一个
rewrite ^(.*)$ https://$host$1 permanent;