证书申请:
比如:阿里云提供期限为1年的免费证书。
SSL模块安装
查看是否已经安装了http_ssl_module模块
# 如未出现configure arguments: –with-http_ssl_module,则没安装SSL模块。
$ /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.18.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_realip_module --with-threads
下载并安装SSL
# 1.如已有安装包,则不需下载
$ cd /usr/local/src
$ wget http://nginx.org/download/nginx-1.18.0.tar.gz
# 2.解压安装包
$ tar -zxvf nginx-1.18.0.tar.gz
# 3. 配置SSL模块
$ cd nginx-1.18.0
$ ./configure --prefix=/usr/local/nginx --with-http_ssl_module
# 4. 使用make命令编译nginx。编译完成后,在当前目录会生成objs文件夹,里面会有一个nginx文件。
# 注:在已经安装过ngnix的环境,不要用make install,此命令会将nginx重装。
# 5. 用objs文件夹下面新的nginx文件,替换调当前的nginx文件。(替换前建议先备份)
$ cp ./objs/nginx /usr/local/nginx/sbin/
# 6. 再次查看SSL模块是否安装成功
# 有--with-http_ssl_module说明SSL模块安装成功。
$ /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.18.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
built with OpenSSL 1.0.2u 20 Dec 2019 (running with OpenSSL 1.0.2k-fips 26 Jan 2017)
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module
证书的部署和配置
上传证书到nginx服务器
# 1. 在nginx目录新建cert目录用于存放证书文件
$ cd /usr/local/nginx
$ mkdir cert
# 2. 上传证书到cert目录
$ scp /本地目录路径/证书名称.pem 目标服务器用户名@目标服务器IP地址:/usr/local/nginx/cert/
$ scp /本地目录路径/证书名称.key 目标服务器用户名@目标服务器IP地址:/usr/local/nginx/cert/
配置nginx.conf
$ vi /usr/local/nginx/conf/nginx.conf
# 1.SSL server的配置信息如下:
server {
# 服务器端口使用443(也可配置其它端口),开启ssl, 这里ssl就是上面安装的ssl模块
listen 443 ssl;
# 域名的名称,多个以空格分开
server_name xxx.xxx.com;
# ssl证书地址
ssl_certificate /usr/local/nginx/cert/证书名称.pem; # pem文件的路径
ssl_certificate_key /usr/local/nginx/cert/证书名称.key; # key文件的路径
# ssl验证相关配置
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; #使用服务器端的首选算法
location / {
root html;
index index.html index.htm;
}
}
# 2.将http重定向到https
server {
listen 80; # 也可指定其它端口
server_name xxx.xxx.com;
return 301 https://xxx.xxx.com;
}
# 3.校验配置文件是否有语法错误
$ /usr/local/nginx/sbin/nginx -t
# 4.重新加载配置文件,使其生效
$ /usr/local/nginx/sbin/nginx -s reload
内容出处:,
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/procedure/13264.html