一、阿里云服务器购买,需要添加对应的域名,假设为 mingtian.baofu.com
下载到本地解压有两个文件,如下图
二、连接远程服务器
找到目录 /usr/local/nginx/conf
创建 cert
目录,将两个文件复制进去
在 /usr/local/nginx/nginx.conf
文件中添加如下配置
server {
listen 443;
server_name mingtian.baofu.com; // 这里就是之前注册证书时的域名
ssl on;
root html;
index index.html index.htm;
ssl_certificate cert/刚刚复制的文件名称.pem;
ssl_certificate_key cert/刚刚复制的文件名称.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;
location / {
root html;
index index.html index.htm;
}
}
更新到服务器,顺利的话,执行 nginx -t
不报错,再执行 nginx -s reload
重启就好了。
如果不顺利,则往下看。
三、解决问题
(1)执行如下代码:
./configure --with-http_ssl_module
十有八九报错如下:
./configure: error: SSL modules require the OpenSSL library.
(2)执行如下代码:
yum -y install openssl openssl-devel
./configure
./configure --with-http_ssl_module
make
make
执行后会生成一个 objs
文件夹
(3)将原来 nginx 备份,可以手动复制命名, 或者如下命令执行复制,这里文件目录自己对照一下
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
(4) 在 objs
目录下执行下面代码覆盖安装
cp objs/nginx /usr/local/nginx/sbin/nginx
nginx -t
// 无报错则往下执行
nginx
然后就去访问页面,发现访问不通,此时需要在 阿里云服务器 安全组添加 443
然后就可以访问了,
但是二级域名假设我们指定了一个目录
然后发现上面访问的是 welcome to nginx。。。
所以还要再改一下
server {
listen 80;
server_name mingtian.baofu.com;
# ssl
listen 443;
ssl on;
ssl_certificate cert/刚刚复制的文件名称.pem;
ssl_certificate_key cert/刚刚复制的文件名称.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;
location / {
root /root/project/ss;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
完事?。?!