介绍
个人认为让一个没什么流量的网站支持https是没什么意义的,第一,支持https后访问速度会变慢
而且浪费服务器资源,但是没办法,一切为了装逼,为了装逼的一切
https和http的区别就是https更安全,http使用80端口https使用443端口,https有ssl加密
虽然说很多ssl证书都是收费的,但是还是有很多ssl证书是免费的
申请证书
首先我的主机是阿里云的,所以我就直接使用阿里云的证书服务了,在控制面板,点击证书服务,然后
点击购买证书,选择免费DV,然后一直下一步下一步,之后在证书控制台填一下个人信息,审核完成
之后,你就可以下载你的证书了
安装证书
i首先我的服务器是nginx的
在服务器的随便什么位置新建一个文件夹,比如创建/etc/ssl/然后在里面放上你的证书
在你的原来服务器虚拟主机或者nginx.conf的server块下添加
server {
listen 443; #监听端口,注意https是443http是80
server_name localhost;
ssl on; #开启ssl
root html;
index index.html index.htm;
# ssl两个证书的位置
ssl_certificate cert/214085273330414.pem;
ssl_certificate_key cert/214085273330414.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;
}
}
注意
两个不同三级域名的网站比如
abc.bboysoul.cn
def.bboysoul.cn
它们的证书是不能用同一个的,所以两个如果你有两个网站,就要申请两个证书
如何强制让用户使用https访问网站
首先要让服务器监听80端口也就是要加上
listen 80;
其次因为当用户访问80端口的时候会报497错误,这样把他强制跳转到https访问,在配置文件中
加上
error_page 497 https://$host$uri?$args;