欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

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

程序员文章站 2022-08-17 17:23:11
过程总述 1. 购买服务器,购买域名,备案 2. 申请ssl证书 3. DNS验证 4. 上传证书,配置nginx 5. 很关键,打开端口!!!阿里云的443端口默认是不打开的 1.购买服务器,域名,备案 服务器我是买的阿里云的,域名也是在阿里云上买的,注意一点,现在域名必须备案才能用,所以建议先买 ......

过程总述

  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服务
  3. 点击创建,确认。然后会给一个私钥的压缩包,留下来,先不用。然后界面上进入dns验证的过程。
    阿里云服务器配置免费https服务

3. dns验证

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

4. 上传证书,配置nginx

  1. 刚才获得的最后的证书在那个压缩包里,解压是这样的内容,如果丢了,可以去网站再下载一下(如果刚才没有注册登陆,就只能再重新申请一遍)。
    阿里云服务器配置免费https服务
  2. scp复制到服务器上,或者搭建了ftp服务也可以。(不会的自行百度啦,scp还是很简单的)。比如我的吧 scp private.key root@112.125.88.123:/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服务
点配置规则,添加安全组规则。添加内容如图。你也可以这样配好80端口。
阿里云服务器配置免费https服务

尾声

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


写文不易,如果觉得帮到您了,可以支持下。d=====( ̄▽ ̄*)b。
阿里云新人红包:https://promotion.aliyun.com/ntms/yunparter/invite.html?usercode=ppef3go2
阿里云产品开年活动:https://www.aliyun.com/acts/product-section-2019/new-users?usercode=ppef3go2
阿里云商标注册服务:https://tm.aliyun.com/?usercode=ppef3go2