https环境的搭建

肖峰博客-117-为Nginx配置 SSL 证书 + 搭建 HTTPS网站 但是我是用的阿里云的,与他的这种不同。也可以参考他这种配置

证书在服务器上配置的阿里云资料

  • 我此处是用apache服务器的配置举例,nginx的更简单,在本文末尾有介绍
  • 阿里云证书的位置:产品->安全(云盾)->CA证书服务点击链接
    https环境的搭建_第1张图片
    image.png
https环境的搭建_第2张图片
证书
  • 这些证书,我们通过官网申请,阿里云申请,七牛云申请都可以

ov型适合多域名的,ev型可以标注什么什么项目,什么网站

https环境的搭建_第3张图片
点击立即购买后,看到的证书价格和选择

证书控制台,其实就是云盾控制台

https环境的搭建_第4张图片
image.png

控制台->云盾(安全)->证书服务链接

https环境的搭建_第5张图片
我的证书
https环境的搭建_第6张图片
选择补全,填写自己的信息
https环境的搭建_第7张图片
这一步要点击创建

在服务器上操作

先做好证书的模块
  • 我们执行apachectl configtest的时候,如果报错是error级别,必须解决,其他错误提示不解决也可以

  • 我们把刚才的那个报错,使用管道符查看下有没有在mode-avaliable里面,我们查看有,然后做一个软链接到mode-enable里面就可以了

    解决上面图片上的问题

  • 从阿里云把证书下载到本地之后,我们可以直接把整个文件上传到服务器上


    https环境的搭建_第8张图片
    把证书上传到服务器

在服务器上我们进入ssl目录后,会看到我们配置的站点,再进入站点后,在看里面的证书。因为证书其实是配置到相应的站点的;如果证书是通配符配置的,证书就不会配置到某个站点下了。但是我的证书是直接传到了ssl文件里面,也可以使用

https环境的搭建_第9张图片
在服务器上查看证书-龙哥视频配置
我的证书位置

vi /etc/apache/mode-enable/ssl.conf,里面的SSLProtocol参数默认的是all,但是这样设置会不安全,我们需要去掉一些不安全的协议和加密套件

图1-修改`SSLProtocol`
https环境的搭建_第10张图片
图2-image.png

vi /etc/apache2/sites-available/default-ssl.conf,第一,我们需要添加主机名(这个主机名要和阿里云申请证书的域名匹配)。第二,我们需要修改证书的地址;第三,配置证书链。注意,default-ssl.conf默认是没有软连接到mode-enable里面的。我们设置好之后,需要做个软链接。注意,这个文件里面的站点目录还要和site-avaliablei里面域名对应的站点目录想对应

https环境的搭建_第11张图片
图1-添加证书主机名
https环境的搭建_第12张图片
图2-修改证书签名和证书链接的地址.png
https环境的搭建_第13张图片
https服务器配置成功

以上是apache的配置,nginx的配置是vi nginx.conf,修改以下配置即可。官网链接

server {
    listen 443;
    server_name localhost;
    ssl on;
    root html;
    index index.html index.htm;
    ssl_certificate   cert/214022665520943.pem;
    ssl_certificate_key  cert/214022665520943.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;
    }
}
  • 但其实我们的配置位置根本不是官网给的那样,我参考了文档,下面是我自己的配置


    https环境的搭建_第14张图片
    打开站点配置,`vi /etc/nginx/sites-available/default`,查看自己的配置
https环境的搭建_第15张图片
打开站点配置,`vi /etc/nginx/sites-available/default`,我只打开了这三个`#`号
成功
  • 前提是我先把ssl的两个配置文件放在了 /etc/ssl/cert里面,我们打开vi /etc/nginx/snippets/snakeoil.conf文件看看

    https环境的搭建_第16张图片
    image.png

    • 注意,此处的.pem,.key要与我们下载的一致。此处是需要修改的
      image.png
https环境的搭建_第17张图片
image.png

设置http访问直接跳转到https

只需在80对应的server里面添加重写规则即可。rewrite ^(.*) https://$host$1 permanent;
参考

server {
        listen 80 default_server;
    server_name  www.vipjianzhi.cn;
rewrite ^(.*) https://$host$1 permanent;
         include snippets/snakeoil.conf;
         root /var/www/jianzhi/public;
        index index.html index.php  index.htm index.nginx-debian.html;
        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }
}
server {
        listen 443 ssl default_server;
    server_name  www.vipjianzhi.cn;
         include snippets/snakeoil.conf;
         root /var/www/jianzhi/public;
        index index.html index.php  index.htm index.nginx-debian.html;
        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }

}

你可能感兴趣的:(https环境的搭建)