网站升级HTTPS操作步骤

庆儿
• 阅读 911

网站升级HTTPS操作步骤

现在越来越多的网站开始使用https协议,其实百度从2014年底就已经开始支持https了,并且据说在排名上,同权重的网站,开启https会优待提升排名。先不管排不排名吧,https是一种更安全更先进的技术。作为互联网的弄潮儿,我们必须要与时俱进呀~果断的,全站启用https协议。

不要以为开启https只是在网址http后面加个s就可以了,其实不是的。https是需要验证SSL证书的,如果没有证书或者证书不匹配,则通过https访问你的网站是会被浏览器拦截的。

一、获取证书

升级到 HTTPS 协议的第一步,就是要获得一张证书。阿里云上可以申请免费的HTTPS证书。

1.首先登录阿里云,在“产品与服务”的下拉菜单中,找到“CA证书服务(数据安全)”。

网站升级HTTPS操作步骤

2.点击右上角“购买证书”按钮

网站升级HTTPS操作步骤

3.“保护类型”选择“一个域名”,品牌选择赛门铁克。

网站升级HTTPS操作步骤

然后证书类型选择“免费型DV SSL”。

网站升级HTTPS操作步骤

4.点击“立即购买”

网站升级HTTPS操作步骤

5.购买成功后,点击“补全”

网站升级HTTPS操作步骤

6.输入一个域名,有一点需要注意,这里需要精确到二级域名,例如http://www.dedemao.comhttp://pay.dedemao.com是两个二级域名,是不一样的。只能输入一个,如果有多个域名需要HTTPS,需要购买多次,每次配置一个域名。填写后,点击下一步。

网站升级HTTPS操作步骤

7.填写个人信息,如果域名也在阿里云,域名验证类型可以选择DNS,并勾选。如果域名不在阿里云且服务器是linux的,那么选择文件。

网站升级HTTPS操作步骤网站升级HTTPS操作步骤

8.如果是选择文件,需要将指定文件下载到指定目录下。

网站升级HTTPS操作步骤

9.等待审核通过后,点击“下载”,下载证书。

网站升级HTTPS操作步骤

二、安装证书

根据服务器的环境选择相应的证书下载并阅读配置教程即可。

网站升级HTTPS操作步骤

安装成功后,使用SSL Labs Server Test 检查一下证书是否生效。

补充一下:

腾讯云面板下载的SSL证书压缩包里面包含各种服务器引擎的证书,你需要选择你的服务器类型比如我们用的是Nginx服务器,就需要上传Nginx专用的SSL证书。如果是IIS,就上传IIS专用的

服务器虚拟主机设置SSL证书路径
上传了SSL证书之后,我们还需在虚拟主机配置文件里面指定一下SSL证书的路径,不然访问会出错。
别的服务器我们并不了解。但是就我们现在用的WDCP面板+Nginx配置文件的写法是。你需要先找到
你服务器虚拟主机配置文件的路径,我们的是/conf/vhost/idedecms.com.conf各有不同,举一反三。

server {
        listen       80;
        root /www/web/idedecms_com/public_html;
        server_name idedecms.com idedecms.com www.idedecms.com img.idedecms.mysitecdn.com;
        index  index.html index.php index.htm;
        error_page  400 /errpage/400.html;
        error_page  403 /errpage/403.html;
        error_page  404 /errpage/404.html;
        error_page  503 /errpage/503.html;
        location ~ \.php$ {
                proxy_pass http://127.0.0.1:88;
                include naproxy.conf;
        }
        location ~ /\.ht {
                deny  all;
        }
        location / {
                try_files $uri @apache;
        }
        location @apache {
                 proxy_pass http://127.0.0.1:88;
                 include naproxy.conf;
        }
return 301 https://www.$server_name$request_uri;
}
server {
listen 443 ssl;
        root /www/web/idedecms_com/public_html;
        server_name idedecms.com idedecms.com www.idedecms.com img.idedecms.mysitecdn.com;
        index  index.html index.php index.htm;
        error_page  400 /errpage/400.html;
        error_page  403 /errpage/403.html;
        error_page  404 /errpage/404.html;
        error_page  503 /errpage/503.html;
        location ~ \.php$ {
                proxy_pass http://127.0.0.1:88;
                include naproxy.conf;
        }
        location ~ /\.ht {
                deny  all;
        }
        location / {
                try_files $uri @apache;
        }
        location @apache {
                 proxy_pass http://127.0.0.1:88;
                 include naproxy.conf;
        }
ssl_certificate /www/ssl/idedecms_com/1_www.idedecms.com_bundle.crt;
ssl_certificate_key /www/ssl/idedecms_com/2_www.idedecms.com.key;
ssl_session_timeout 5m;
} 

三、修改链接

下一步,网页加载的 HTTP 资源,网站页面js,css,以及图片资源引用地址改为https。因为加密网页内如果有非加密的资源,浏览器是不会加载那些资源的。

<script src="http://foo.com/jquery.js"></script>
上面这行加载命令,有两种改法。
<!-- 改法一 -->
< script src="https://foo.com/jquery.js"></script>
< !-- 改法二 -->
< script src="//foo.com/jquery.js"></script>

其中,改法二会根据当前网页的协议,加载相同协议的外部资源,更灵活一些。
另外,如果页面头部用到了rel="canonical",也要改成HTTPS网址。

<link rel="canonical" href="[https://foo.com/bar.html](https://link.zhihu.com/?target=https%3A//foo.com/bar.html)" />

这个不用我说了吧,网站开启https之后,页面上使用http调用的资源都会无法调用。你需要把http的资源全都改成https调用。记住,不能漏掉任何一个js引用或者图片如果有一个文件不是https引用的,则你的网站虽然可以正常https访问,但是地址栏的https标识不会完全变绿,360浏览器尤为明显。这代表你网站虽然启用了https但是没有做到完全的规范。被认定为不规范的https页面。

四、301重定向

下一步,修改 Web 服务器的配置文件,使用 301 重定向,将 HTTP 协议的访问导向 HTTPS 协议。

Nginx 的写法。

server {
  listen 80;
  server_name domain.com www.domain.com;
  return 301 https://domain.com$request_uri;
}

Apache 的写法(.htaccess文件)。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

网站升级HTTPS操作步骤

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
待兔 待兔
1年前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Easter79 Easter79
3年前
tomcat配置https协议详细步骤
1.介绍了密码学的相关基础知识后,本文介绍如何在tomcat上搭建https服务。 环境:jdk7,tomcat7,windows72.我们使用java中自带的javatool工具来制作所需的https所需的证书,keytool是java自带的用于密钥和证书的生成和管理工具。3.这里先介绍两个文件格式: jks(java key store)
Wesley13 Wesley13
3年前
java项目http变更https
1\.创建keystore文件执行keytoolgenkeyvaliastomcatkeyalgRSA  validity3650 keystorec:\\tomcat.keystoredname"CNlocalhost,OUcn,Ocn,Lcn,STcn,ccn"storepasspassw
梦
4年前
微信小程序new Date()转换时间异常问题
微信小程序苹果手机页面上显示时间异常,安卓机正常问题image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/b691e1230e2f15efbd81fe11ef734d4f.png)错误代码vardate'2021030617:00:00'vardateT
Wesley13 Wesley13
3年前
HTTPS
最近网站更新为https,于是做个笔记将域名 www.domain.com(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.domain.com) 的证书文件1\_www.domain.com\_bundle.crt、私钥文件2\_www.doma
Wesley13 Wesley13
3年前
HTTP与HTTPS介绍(非原创)
文章大纲一、HTTP和HTTPS的基本概念二、HTTP缺点三、HTTPS介绍四、免费HTTPS证书推荐一、HTTP和HTTPS的基本概念1.HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的
Wesley13 Wesley13
3年前
HTTPS
楔子谣言粉碎机前些日子发布的《用公共WiFi上网会危害银行账户安全吗?(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.guokr.com%2Farticle%2F100110%2F)》,文中介绍了在使用HTTPS进行网络加密传输的一些情况,从回复来看,争议还是有的。随着网络越
Wesley13 Wesley13
3年前
HTTPS和HTTP的区别
HTTPS(SecureHypertextTransferProtocol)安全超文本传输协议它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。 它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的