1.申请免费型dv ssl证书:https://common-buy.aliyun.com/?spm=a2c4e.11155515.0.0.7zzvOZ&commodityCode=cas#/buy
一路点过去,一直到控制台,可以看到有“补全”两个字,点开
然后按照要求,首先填写你要申请证书的完整域名(例如www.test.com,因为此证书为单域名,不能使用通配符);然后填写个人信息,值得注意的是需要勾选下图红圈包围的选项,让验证自动化进行,不用手动操作;然后下一步,完成信息补全,等待几分钟,验证就可以通过。
添加443端口(https)安全组规则
等待的这个时间,你可以去检查一下你的服务器的安全组配置,看一下是否加入了443端口的链接,防止后面连接不上。创建的新规则如下图。
打开后找到安全组
下载证书
- 几分钟后,可以看到下图的状态。点击下载,我们去下载for nginx的证书,证书下载页也给出了详细的配置步骤
安装证书, 以下配置是rails安装了passenger的配置 文件说明: 1. 证书文件214×××××57.pem,包含两段内容,请不要删除任何一段内容。 2. 如果是证书系统创建的CSR,还包含:证书私钥文件214×××××57.key。 ( 1 ) 在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为218888157.key; ( 2 ) 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到: # HTTPS server # #server { # listen 443; # server_name localhost; # ssl on; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_timeout 5m; # ssl_protocols SSLv2 SSLv3 TLSv1; # ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; # ssl_prefer_server_ciphers on; # location / { # # #} #} ( 3 ) 将其修改为 (以下属性中ssl开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整) :
# HTTPS server
#
server {
listen 443 ssl;
server_name localhost;
passenger_enabled on;
root /home/jd/project/stone/public;
ssl on;
ssl_certificate /opt/nginx/cert/21*****157.pem;
ssl_certificate_key /opt/nginx/cert/21***157.key;
ssl_session_cache shared:SSL:1m;
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;
#}
}
保存退出。 ( 4 )重启 Nginx。 ( 5 ) 通过 https 方式访问您的站点,测试站点证书的安装配置。如
附普通http访问nginx配置
user jd; //服务器用户名
worker_processes 1;
events {
worker_connections 1024;
}
http{
passenger_root /home/jd/.rvm/gems/ruby-2.2.3/gems/passenger-5.1.11;
passenger_ruby /home/jd/.rvm/gems/ruby-2.2.3/wrappers/ruby;
include mime.types;
default_type application/octet-stream;
client_max_body_size 20m;
sendfile on;
server { listen 80; server_name localhost; passenger_enabled on; root /home/jd/project/stone/public; }
}