Nginx配置ssl证书

1.下载证书

在ssl证书管理界面下载对应于Nginx的证书。
下载的Nginx证书压缩文件解压后包含:

  • .pem:证书文件。PEM文件的扩展名为CRT格式。
  • .key:证书的密钥文件。申请证书时如果未选择自动创建CRS,则下载的证书文件压缩包中不会包含.key文件,需要您将自己手动常见的私钥文件拷贝到cert目录下。

2.更改nginx设置

在nginx安装目录下新建cert目录存储nginx证书

cd usr/local/nginx/conf
mkdir cert

更改nginx.conf设置vi nginx.conf
找到server块,更改并加入以下内容:

server{
	listen 80;
	server_name localhost; #localhost修改为证书绑定的域名
	rewrite ^(.*)$ https://${server_name}$1 permanent; #设置http自动转发https
}

server{
	listen 443 ssl;#设置SSL功能
	server_name localhost;  #localhost修改为证书绑定的域名
	root html;
	index index.html index.htm;
	ssl_certificate cert/xxxx.pem;   #证书的文件名
	ssl_certificate_key cert/domain name.key;   #证书的密钥文件名
	ssl_session_timeout 5m;
	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;   
	........ 

3.重新编译含有ssl配置的nginx

进入到nginx解压文件夹下

./configure --with-http_ssl_module

如果报错./configure: error: SSL modules require the OpenSSL library说明openssl未安装,安装:

#检查安装
yum list installed | grep openssl
#安装
yum install -y openssl openssl-devel

然后编译并替换原nginx

#编译
make
#备份原nginx
cp 解压目录下/objs/nginx /usr/local/nginx/sbin/nginx.bak
#停止nginx服务
ps aux | grep nginx
kill xxxx #上一条命令找到的进程号
#更新nginx
cp 解压目录下/objs/nginx /usr/local/nginx/sbin/nginx
#检查是否成功
/usr/local/nginx/sbin/nginx -t
#重启nginx服务
cd /usr/local/nginx/sbin
./nginx

你可能感兴趣的:(云服务器从入门到上瘾,Nginx,ssl,http转发)