1. 获取 SSL/TLS 证书

首先,你需要获得一个 SSL/TLS 证书。你可以从以下来源之一获取证书:

  • 免费证书

    • Let's Encrypt:一个免费的、自动化的证书颁发机构(CA),广泛使用且受信任。
  • 付费证书

    • 著名的 CA:如 DigiCert、GlobalSign、Comodo、Symantec 等提供的付费证书,通常提供更高的信任级别和支持。

2. 安装证书

安装证书的步骤因服务器和托管服务提供商的不同而有所不同。以下是一些常见的 Web 服务器的安装步骤:

2.1. Apache

  1. 安装 Certbot(用于 Let's Encrypt)

    sudo apt update sudo apt install certbot python3-certbot-apache
  2. 获取并安装证书

    sudo certbot --apache
  3. 配置 Apache: Certbot 通常会自动配置 Apache。如果需要手动配置,编辑 Apache 配置文件:

    sudo nano /etc/apache2/sites-available/your_site.conf

    确保包含以下指令:

    <VirtualHost *:80>
    ServerName your_domain
    Redirect permanent / https://your_domain/
    </VirtualHost> <VirtualHost *:443>
    ServerName your_domain
    DocumentRoot /var/www/your_site
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/your_domain/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/your_domain/privkey.pem
    </VirtualHost>
  4. 重启 Apache

    sudo systemctl restart apache2

2.2. Nginx

  1. 安装 Certbot(用于 Let's Encrypt)

    sudo apt update sudo apt install certbot python3-certbot-nginx
  2. 获取并安装证书

    sudo certbot --nginx
  3. 配置 Nginx: Certbot 通常会自动配置 Nginx。如果需要手动配置,编辑 Nginx 配置文件:

    sudo nano /etc/nginx/sites-available/your_site

    确保包含以下指令:

    server {
    listen 80;
    server_name your_domain;
    return 301 https://$host$request_uri;
    } server {
    listen 443 ssl;
    server_name your_domain; ssl_certificate /etc/letsencrypt/live/your_domain/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/your_domain/privkey.pem; location / {
    root /var/www/your_site;
    index index.html;
    }
    }
  4. 重启 Nginx

    sudo systemctl restart nginx

3. 更新网站配置

确保网站的所有 URL 和资源(如图片、脚本、样式表等)使用 HTTPS 协议。如果存在混合内容(即 HTTP 和 HTTPS 混合使用),浏览器可能会显示警告或阻止加载不安全的资源。

4. 更新网站链接

  1. 内部链接:更新所有内部链接以使用 HTTPS。
  2. 重定向 HTTP 到 HTTPS:确保所有 HTTP 请求都重定向到 HTTPS。前面的 Apache 和 Nginx 配置示例中已经包括了这一点。

5. 检查并测试

  1. 浏览器测试:在多个浏览器中访问你的网站,确保所有内容都通过 HTTPS 加载,并且没有混合内容警告。
  2. SSL Labs:使用 SSL Labs 检查你的 SSL 配置,确保其安全性和兼容性。
  3. 搜索引擎更新:更新 Google Search Console 和 Bing Webmaster Tools,通知它们你的网站现在使用 HTTPS。

6. 自动续期(针对 Let's Encrypt)

Let's Encrypt 证书有效期为 90 天,因此需要自动续期。安装 Certbot 时,通常会设置一个 cron 任务或 systemd timer 来自动续期。

检查 Certbot 续期任务:

sudo certbot renew --dry-run

如果以上命令运行没有问题,Certbot 已经配置好自动续期。

通过这些步骤就可以将你的网站从 HTTP 转换为 HTTPS,确保数据传输的安全性和完整性。

如何将自己的网站从 HTTP 的转换为 HTTPS 的的更多相关文章

  1. 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS

    HTTP 协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的 HTTP 的网站是不太安全的.所以, Google 的 Chrome 浏览器 ...

  2. http和https有什么区别?网站有没有必要启用https

    最近在浏览文章的时候发现,很多站长都在纠结网站到底要不要做https的问题.作为个人站长,也一直关注着这块.最近查阅了很多资料,对https也有了更进一步的认识,这里对https的有关问题做了一个总结 ...

  3. 【原创】免费申请SSL证书【用于HTTPS,即是把网站从HTTP改为HTTPS,加密传输数据,保护敏感数据】

    今天公司有个网站需要改用https访问,所以就用到SSL证书.由于沃通(以前我是在这里申请的)暂停了免费的SSL证书之后,其网站推荐了新的一个网站来申请证书,所以,今天因为刚好又要申请一个证书,所以, ...

  4. java获取https网站证书,附带调用https:webservice接口

    一.java 获取https网站证书: 1.创建一个java工程,新建InstallCert类,将以下代码复制进去 package com; import java.io.BufferedReader ...

  5. 为你的网站或App提供免费Https支持

    网站或App Http传输是明文传输,在传输登录或支付相关的数据时,完全是裸奔. 购买证书虽然不是很贵, 但对于个人或初创团队来说,完全可以申请免费的证书来提供Https访问. 本文介绍通过start ...

  6. 网站已迁移至:https://tasaid.com/

    个人网站:http://tasaid.com/ 主要文章在 个人网站 更新,尽可能在博客园同步更新. github:https://github.com/linkFly6 或者可以参与到我目前正在开发 ...

  7. 如何让你的网站用上免费的HTTPS

    因为之前网站上被注入了广告,再百般尝试之后最后还是使用了HTTPS解决了. 在实现HTTPS的时候最关键的就是证书. 证书的质量觉得了你被多少浏览器所信任. 证书的价格也就蹭蹭蹭往上涨了. 这里推荐一 ...

  8. 网站如何免费升级到HTTPS?

    最近在做网站SSL升级,看似简单的操作还是会遇到各种问题,现在和大家分享一下. 证书申请: 公司是创业公司,为了省成本准备申请免费证书,对比了一些证书商,最后选择使用沃通wosign提供的证书服务,发 ...

  9. 为何我的网站http总是跳转https?能不能让http不跳转https?谈谈我遇到的坑和解决方案。

    如题,突然想给我的个人网站加一个ssl,让它能够通过https访问. 但一顿操作猛如虎后,发现只能https访问了,手动输入http也会无限跳转到https. 现在说下我的排查思路和解决方案: 1. ...

  10. nginx 各类网站设置 (laravel , thinkphp , nodejs , https)

    基础部分设置 [root@centos ~]# vim /opt/nginx/conf/nginx.conf user www www;worker_processes auto;pid logs/n ...

随机推荐

  1. Surge多配置文件聚合配置方法

    目录 摘要 1. Surge配置原理 2. Surge托管配置 3. Surge多配置文件聚合配置 (1)找到配置文件 (2)编辑配置文件 参考 摘要 Surge 是一个在 macOS 和iOS 平台 ...

  2. 01 Xpath简明教程(十分钟入门)

    目录 Xpath简明教程(十分钟入门) Xpath表达式 Xpath节点 节点关系 Xpath基本语法 1) 基本语法使用 2) xpath通配符 3) 多路径匹配 Xpath内建函数 Xpath简明 ...

  3. docker 权限问题 Got permission denied while trying to connect to the Docker daemon socket at 。。。

    非root用户运行docker命令报如下错误 说明没有权限 haima@haima-PC:/usr/local/docker/docker_compose_efk$ docker ps -a Got ...

  4. golang 中 strings 包的 Replace 用法介绍笔记

    函数申明: func Replace(s, old, new string, n int) string 官方描述为: 返回将s中前n个不重叠old子串都替换为new的新字符串,如果n<0会替换 ...

  5. 原生微信小程序

    new Date 跨平台兼容性问题 在 Andriod 使用 new Date("2018-05-30 00:00:00")木有问题,但是在ios 下面识别不出来.因为 IOS 下 ...

  6. EasyUI组件新增方法与事件

    以window组件为例 事件 扩展事件直接定义在options中,可以再初始化组件时定义事件,也可以使用时临时定义事件.这里是组件初始化后在添加的. 使用情景:添加,插入功能.主界面表格分别点击添加和 ...

  7. phpstorm配置laravel语法提示

    摘自:https://cloud.tencent.com/developer/article/1426699 phpstorm配置laravel语法提示 2019-05-15阅读 1930   用习惯 ...

  8. vue xlsx组件 导出的excel表头插入内容

    主要就是sheet_add_dom这个方法, dom是带有table标签元素的dom节点. timeData是个二维数组:[["条件1","条件2"],[&qu ...

  9. 记录一下Android usb相关的知识学习

    在SecondStageMain中会先调用PropertyInit做属性初始化,该方法会调用PropertyLoadBootDefaults加载持久化的属性主要加载位置: /system/build. ...

  10. .NET Core 中使用GBK GB2312编码报错的问题

    错误描述 环境 dotnet core 2.1 2.2   dotnet core 3.1 dotnet core 5.0 现象 当代码中使用 System.Text.Encoding.GetEnco ...