阿里云服务器配置免费https服务

过程总述

  1. 购买服务器,购买域名,备案
  2. 申请ssl证书
  3. DNS验证
  4. 上传证书,配置nginx
  5. 很关键,打开端口!!!阿里云的443端口默认是不打开的

1.购买服务器,域名,备案

服务器我是买的阿里云的,域名也是在阿里云上买的,注意一点,现在域名必须备案才能用,所以建议先买域名着手备案,等备好案再买服务器。

粘个阿里云推广的连接,点进去有新人红包
https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=ppef3go2

如果是个人开发使用,服务器不用买太贵的,1M网速2G内存的就够用了。
域名如果不是商用,也不用太好,我就用的.top,cn和com基本没多少好听的域名了。而且还很贵。

2.申请ssl证书

https://freessl.cn/
申请Let's Encrypt的ssl证书

比如我们现在要给example.top申请证书

  1. 注册个帐号,不注册也行,但是注册了之后,以后证书如果不小心删了,这里还可以在下载。邮箱注册,打开邮件验证,然后回到首页。
  2. 在首页输入你要的输入的域名,如果你要只用二级域名比如www.example.top,就输这个二级域名就行,或者你要全域名,就输入*.example.top,这样以后所有二级域名就都可以用https服务了。我们这里使用全域名。
    阿里云服务器配置免费https服务_第1张图片
  3. 点击创建,确认。然后会给一个私钥的压缩包,留下来,先不用。然后界面上进入DNS验证的过程。
    阿里云服务器配置免费https服务_第2张图片

3. DNS验证

  1. 首先说说这个东西是干嘛的,我理解的,就是给你发的时候,我得确认你有这个网站的权限,然后能让我认可,我才给你发证,表示我承认这个证保护这个网站。
  2. 先不要点击验证,如果失败会有十分钟的间隔之后才能再验证,点击配置完成,检测一下进入检测界面。检测界面这样,但是数据不全,先不用点,还要用刚才那个界面的数据。
    阿里云服务器配置免费https服务_第3张图片
  3. 打开你的阿里云网站,进入控制台->域名->点击你的域名->然后域名解析。到这个界面就对了。
    阿里云服务器配置免费https服务_第4张图片
    阿里云服务器配置免费https服务_第5张图片
  4. 添加dns验证要的信息。点击添加记录,在最开始的freessl的那个页面,就是查询验证之前的那个界面。
  5. 一共有两个,新建两个记录,对应关系一样,如图。
    阿里云服务器配置免费https服务_第6张图片
  6. 测试一下,应该通过,然后回到freessl那里,点击点击验证,通过之后会发给你一个压缩包,里边就是证书啦。

4. 上传证书,配置nginx

  1. 刚才获得的最后的证书在那个压缩包里,解压是这样的内容,如果丢了,可以去网站再下载一下(如果刚才没有注册登陆,就只能再重新申请一遍)。
    阿里云服务器配置免费https服务_第7张图片
  2. scp复制到服务器上,或者搭建了ftp服务也可以。(不会的自行百度啦,scp还是很简单的)。比如我的吧 scp private.key [email protected]:/root/,然后要求输入密码,文件就过去了。把两个文件都传过去。
  3. 进入服务器。把刚才的两个文件复制到nginx下新建的一个目录下,我的放在/usr/local/nginx/cert/下了。
  4. 贴上我的nginx配置文件。
server {
    listen 443;
    ssl on;
    ssl_certificate /usr/local/nginx/cert/full_chain.pem;
    ssl_certificate_key /usr/local/nginx/cert/private.key;
    keepalive_timeout   70;
    server_name example.top;
    root /data/webroot/example;
    charset utf-8;
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;
        fastcgi_param   HTTPS               on;
        fastcgi_param   HTTP_SCHEME         https;

    location / {
        index  index.php index.html index.htm;
        if (-e $request_filename) {
            break;
        }

        if (!-e $request_filename) {
            rewrite ^/(.*)$ /index.php/$1 last;
            break;
         }
    }
    location ~ .+\.php($|/) {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
    #    fastcgi_pass 127.0.0.1:9000;
        fastcgi_pass unix:/tmp/php-cgi.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    access_log logs/calendar.yimeidan.access.log;
    error_log logs/calendar.yimeidan.error.log;
}

server {
listen    80;
server_name calendar.yimeidan.top;
return    301 https://$server_name$request_uri;
}

5. 一定要记得打开端口!!!

最后的最后,很关键,打开端口!!!打开端口!!!打开端口!!!
阿里云的443端口默认是不打开的,需要如下操作打开端口。(80端口也是需要这么打开的。)
点开你的阿里云控制台,找到你要用的服务器,然后点更多->网络和安全组->安全组配置。
阿里云服务器配置免费https服务_第8张图片
点配置规则,添加安全组规则。添加内容如图。你也可以这样配好80端口。
阿里云服务器配置免费https服务_第9张图片

尾声

理论上完活啦,有问题可以留言交流。
成品截图:
阿里云服务器配置免费https服务_第10张图片

你可能感兴趣的:(前端,阿里云,nginx,https,ssl)