Https网站如何申请免费的SSL证书及操作使用指南

前言

在当今互联网环境下,HTTPS已成为网站安全的标配,它通过SSL/TLS协议为网站数据传输提供加密,保障用户信息的安全。申请并部署免费SSL证书,不仅能够提升网站的专业形象,还能增强用户信任。本文将详细介绍如何在知名免费SSL证书提供商Let's Encrypt申请免费SSL证书,并指导如何在Nginx和Apache服务器上安装和使用证书。

这里推荐:

OHTTPS - 免费HTTPS证书、自动化更新、自动化部署、自动化监控

ohttps.com提供了类似于acme.sh的功能,不过提供了友好的管理界面,可申请Let's Encrypt免费通配符类型证书,还提供了证书吊销、到期前提醒、自动更新、自动部署功能。

另外比acme.sh增加了一些非常实用的功能,主要包括可自动部署至阿里云、腾讯云、七牛云的负载均衡、内容分发CDN、SSL证书列表等,并可自动部署至多个nginx容器中。

如果你有在证书更新后自动部署至多个不同节点的需求,使用ohttps.com就对了,在这里强烈推荐大家使用ohttps.com申请和管理Let's Encrypt颁发的免费HTTPS证书。申请链接:

https://ohttps.com

 

操作步骤 

1. 选择SSL证书提供商

首先,您需要选择一个可靠的SSL证书提供商。目前,有许多提供免费SSL证书的服务商,其中最受欢迎的是Let's Encrypt。Let's Encrypt是一个非营利组织,它提供免费的SSL证书,并且这些证书被广泛认可和接受。

2. 申请免费SSL证书

使用Let's Encrypt申请证书

Let's Encrypt提供了一个名为Certbot的自动化工具,可以帮助您轻松申请和管理SSL证书。

Certbot简介

Certbot是EFF(Electronic Frontier Foundation)开发的一个开源软件工具,旨在自动化获取和更新Let's Encrypt SSL证书的过程。Certbot支持多种操作系统和Web服务器,包括Apache和Nginx,使其成为一个非常灵活和强大的工具。

以下是使用Certbot申请免费SSL证书的步骤:

  1. 安装Certbot: 您需要先在服务器上安装Certbot。根据您的服务器操作系统和Web服务器类型,安装方法会有所不同。例如,如果您使用的是Ubuntu和Apache,可以使用以下命令安装Certbot:

    #如果服务器是apache
    sudo apt update
    sudo apt install certbot python3-certbot-apache
    #在Ubuntu上安装Certbot,服务器是nginx
    sudo apt update
    sudo apt install certbot python3-certbot-nginx
  2. 使用Certbot获取SSL证书

    安装Certbot后,您可以使用以下命令来获取SSL证书:

    使用Apache插件获取证书

    sudo certbot --apache
    

    使用Nginx插件获取证书

    sudo certbot --nginx
    

    在执行上述命令时,Certbot会引导您完成一系列设置步骤,包括输入您的电子邮件地址和同意服务条款。Certbot还会自动配置您的Web服务器以使用新的SSL证书。

  3. 验证证书: 证书获取成功后,Certbot会自动配置您的Web服务器以使用SSL。您可以通过访问您的网站并查看浏览器地址栏中的锁形图标来验证SSL证书是否已正确安装。

3. 使用SSL证书

配置Web服务器

一旦您获得了SSL证书,您需要配置您的Web服务器以使用它。以下是一些常见的Web服务器配置示例:

Apache

如果您使用的是Apache服务器,Certbot通常会自动为您配置SSL。您可以通过编辑Apache配置文件来手动配置SSL,例如:

<VirtualHost *:443>
    ServerName www.example.com
    DocumentRoot /var/www/html

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/www.example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem
</VirtualHost>
Nginx

如果您使用的是Nginx服务器,您可以编辑Nginx配置文件来配置SSL,例如:

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

server {
    listen 443 ssl;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem;

    root /var/www/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}

自动更新证书

Let's Encrypt颁发的SSL证书有效期为90天。为了确保证书始终有效,您需要设置自动更新。Certbot提供了一个简单的命令来实现这一点:

sudo certbot renew --dry-run

您可以将此命令添加到服务器的cron作业中,以确保证书定期更新。例如,您可以编辑cron作业文件:

sudo crontab -e

然后添加以下行: 

0 0 * * * /usr/bin/certbot renew --quiet

这行命令将在每天午夜运行,检查证书是否需要更新,并在需要时自动更新证书。 

更便捷的方式(okhttps)

上述命令行方式需要熟悉使用,如果想要更便捷的方式,可以在okhttps或FreeSSL.cn网站上申请。界面操作更简单直观。

举例:

在FreeSSL.cn申请免费SSL证书的基本步骤如下:

访问FreeSSL网站: 打开浏览器,访问 FreeSSL.cn。

1.开始申请:

输入您想要为其申请SSL证书的域名。

选择您需要的证书类型,比如单域名或多域名证书。

点击“创建”或“创建免费的SSL证书”。

2.提供联系信息:

输入您的邮箱地址,这将用于接收证书相关的信息和通知。

核实申请信息无误后,继续下一步。

3.域名验证(DCV):

选择验证方式,常见的有TXT记录验证、CNAME记录验证或文件上传验证。

TXT记录验证:按照提示,在您的域名DNS设置中添加一条TXT类型的记录,内容由FreeSSL提供。
CNAME记录验证:某些情况下可能需要添加CNAME记录,同样根据提供的值设置。

文件上传:上传FreeSSL提供的特定文件至您网站的根目录。

完成验证设置后,点击验证按钮,等待验证通过。

4.证书下载与安装:

验证成功后,您将能够下载SSL证书。通常会包括证书文件(.crt或.pem)、私钥文件(.key)以及可能的中间证书链(.ca-bundle或单独的文件)。申请完成。

最后根据您的服务器类型(如Apache、Nginx、IIS等),按照相应的教程安装使用这些证书文件。

如何使用证书

如果云服务器使用的有宝塔等便捷web管理工具,则添加使用证书很简单。

如果手动安装,以Nginx为例,使用证书的基本步骤如下:

备份原有配置:在修改Nginx配置文件之前,先做好备份。

编辑Nginx配置文件:

找到您的Nginx站点配置文件,通常位于 /etc/nginx/sites-available/your_domain.conf 或相似路径。修改或添加以下内容:

     server {
         listen 443 ssl;
         server_name your_domain.com www.your_domain.com;

         ssl_certificate /path/to/your_certificate.crt;
         ssl_certificate_key /path/to/your_private_key.key;
         
         # 如果有中间证书,也需要包含
         ssl_trusted_certificate /path/to/your_intermediate.pem;

         # 其他SSL设置,如协议版本、密码套件等
         ssl_protocols TLSv1.2 TLSv1.3;
         ssl_prefer_server_ciphers on;
         ssl_ciphers "YOUR_CIPHER_SUITE";
     }
     

替换上述路径为实际存放证书和私钥的路径。

测试配置:

运行 sudo nginx -t 测试配置是否正确。

重启Nginx:

如果配置测试通过,运行 sudo systemctl restart nginx 或 sudo service nginx restart 重启Nginx服务。

检查HTTPS:

访问 https://your_domain.com 检查SSL证书是否已正确安装并生效。

请根据实际情况调整上述步骤中的具体路径和配置项。

以下为我的nginx配置(我的域名:yangqq.site):

server
{
    listen 80;
	listen 443 ssl http2;
    server_name yangqq.site;
    index index.html index.htm default.htm default.html;
    root /www/wwwroot/imovie/imovie;

    #SSL-START SSL相关配置
    #error_page 404/404.html;
    #HTTP_TO_HTTPS_START
    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }
    #HTTP_TO_HTTPS_END
    ssl_certificate    /www/server/panel/vhost/cert/imovie/fullchain.pem;
    ssl_certificate_key    /www/server/panel/vhost/cert/imovie/privkey.pem;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    add_header Strict-Transport-Security "max-age=31536000";
    error_page 497  https://$host$request_uri;

    
    #SSL-END

    #ERROR-PAGE-START  错误页相关配置
    #error_page 404 /404.html;
    #error_page 502 /502.html;
    #ERROR-PAGE-END


    #REWRITE-START 伪静态相关配置
    include /www/server/panel/vhost/rewrite/go_imovie.conf;
    #REWRITE-END

    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md|package.json|package-lock.json|\.env) {
        return 404;
    }

    #一键申请SSL证书验证目录相关设置
    location /.well-known/ {
        root /www/wwwroot/java_node_ssl;
    }

    #禁止在证书验证目录放入敏感文件
    if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {
        return 403;
    }


    # HTTP反向代理相关配置开始 >>>
    location ~ /purge(/.*) {
        proxy_cache_purge cache_one 127.0.0.1$request_uri$is_args$args;
    }

    ##代理转向指向我的golang后台服务端口8000
    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host 127.0.0.1:$server_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;
        add_header X-Cache $upstream_cache_status;
        proxy_set_header X-Host $host:$server_port;
        proxy_set_header X-Scheme $scheme;
        proxy_connect_timeout 30s;
        proxy_read_timeout 86400s;
        proxy_send_timeout 30s;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
    # HTTP反向代理相关配置结束 <<<

    access_log  /www/wwwlogs/imovie.log;
    error_log  /www/wwwlogs/imovie.error.log;
}

其他资源

快速上手 | OHTTPS

免费SSL证书申请,并设置自动续期_免费ssl证书自动续期-CSDN博客

这 6 大免费申请 HTTPS 证书的方法!没人会告诉你-CSDN博客

设置 A 记录 - DNSPod 服务与支持

如何申请免费SSL证书,并部署到Nginx?_let's encrypt免费证书-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/775360.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Yolo系列——动态卷积

一、为什么要提出动态卷积&#xff1f; 为了更好的将模型部署在边端设备上&#xff0c;需要设计轻量级网络模型。轻量级卷积网络因其较低的运算而限制了CNN的深度&#xff08;卷积层层数&#xff09;和宽度&#xff08;通道数&#xff09;&#xff0c;限制了模型的表达能力&am…

《昇思25天学习打卡营第10天|使用静态图加速》

文章目录 今日所学&#xff1a;一、背景介绍1. 动态图模式2. 静态图模式 三、静态图模式的使用场景四、静态图模式开启方式1. 基于装饰器的开启方式2. 基于context的开启方式 总结&#xff1a; 今日所学&#xff1a; 在上一集中&#xff0c;我学习了保存与加载的方法&#xff…

【全网最全ABC三题完整版】2024年APMCM第十四届亚太地区大学生数学建模竞赛(中文赛项)完整思路解析+代码+论文

我是Tina表姐&#xff0c;毕业于中国人民大学&#xff0c;对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在&#xff0c;我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…

金属3D打印如何精准选材

随着3D打印技术的飞跃发展&#xff0c;模具制造领域迎来了前所未有的创新机遇。在众多3D打印技术中&#xff0c;SLM金属3D打印以其精度高、复杂结构成型能力&#xff0c;成为众多行业的优选。然而&#xff0c;金属打印材料&#xff0c;如何精准选择&#xff0c;以最大化满足项目…

MySQL的并发控制、事务、日志

目录 一.并发控制 1.锁机制 2.加锁与释放锁 二.事务&#xff08;transactions&#xff09; 1.事物的概念 2.ACID特性 3.事务隔离级别 三.日志 1.事务日志 2.错误日志 3.通用日志 4.慢查询日志 5.二进制日志 备份 一.并发控制 在 MySQL 中&#xff0c;并发控制是确…

Build a Large Language Model (From Scratch)附录B(gpt-4o翻译版)

来源&#xff1a;https://github.com/rasbt/LLMs-from-scratch?tabreadme-ov-file https://www.manning.com/books/build-a-large-language-model-from-scratch

模拟,CF 570C - Replacement

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 570C - Replacement 二、解题报告 1、思路分析 1、长为cnt的连续串的最小操作次数为cnt - 1 2、每次将一个非. 替换为. f要么增加1要么增加2 只有前后都是 . 的时候会增加2 同理&#xff0c;当我们将一…

【漏洞复现】飞企互联-FE企业运营管理平台——SQL注入

声明&#xff1a;本文档或演示材料仅供教育和教学目的使用&#xff0c;任何个人或组织使用本文档中的信息进行非法活动&#xff0c;均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 飞企互联-FE企业运营管理平台是一个基于云计算、智能化、大数据…

针对某客户报表系统数据库跑批慢进行性能分析及优化

某客户报表系统数据库跑批时间过长&#xff0c;超出源主库较多&#xff0c;故对其进行了分析调优&#xff0c;目前状态如下&#xff1a; 1、业务连接的rac的scanip&#xff0c;因为负载均衡将跑批的连接连接到了多个计算节点导致节点间通讯成本较高&#xff0c;故速率缓慢&…

2024年7月6日 十二生肖 今日运势

小运播报&#xff1a;2024年7月6日&#xff0c;星期六&#xff0c;农历六月初一 &#xff08;甲辰年庚午月辛未日&#xff09;&#xff0c;法定节假日。 红榜生肖&#xff1a;猪、马、兔 需要注意&#xff1a;狗、鼠、牛 喜神方位&#xff1a;西南方 财神方位&#xff1a;正…

Android - 模拟器

Android SDK 包括一个在您的计算机上运行的虚拟移动设备模拟器。 该模拟器可让您在不使用物理设备的情况下对 Android 应用程序进行原型设计、开发和测试。 在本章中&#xff0c;我们将探索真实安卓设备中存在的模拟器中的不同功能。 创建 AVD 如果您想模拟真实设备&#xff0c…

机器人典型的交互任务、阻抗控制的示意图、内涵、意义、存在的交互控制科学问题

机器人典型的交互任务 机器人在实际应用中经常需要完成与环境的交互任务&#xff0c;这些任务包括但不限于&#xff1a; 装配任务&#xff1a;在制造业中&#xff0c;机器人需要准确地操控和组装各种零部件&#xff0c;包括不同形状、大小和材质的物体。搬运任务&#xff1a;…

docker-compose搭建prometheus、grafana

一、安装prometheus 1、安装 version: 3.1services:prometheus:image: prom/prometheus:v2.48.0container_name: prometheushostname: prometheusrestart: alwaysvolumes:- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml- ./prometheus/:/etc/prometheus/port…

strcpy,srtcmp,strlen函数漏洞利用

strcpy,srtcmp,strlen函数漏洞利用 strcpy strcpy函数用于将字符串复制到另一个指针指向的空间中&#xff0c;遇到空字符 **b’x\00’**时停止&#xff0c;&#xff1a; 所以可以利用 strcpy不检查缓冲区 的漏洞&#xff08;构造的字符串要以\0结尾&#xff09;&#xff0c;…

Ubuntu / Debian安装FTP服务

本章教程,记录在Ubuntu中安装FTP服务的具体步骤。FTP默认端口:21 1、安装 pure-ftpd sudo apt-get install pure-ftpd2、修改默认配置 # 与 centos 不同,这里需要在 /etc/pure-ftpd/conf 文件夹下执行下列命令,增加对应配置文件: # 创建 /etc/pure-ftpd/conf/PureDB 文件…

半导体制造企业 文件共享存储应用

用户背景&#xff1a;半导体设备&#xff08;上海&#xff09;股份有限公司是一家以中国为基地、面向全球的微观加工高端设备公司&#xff0c;为集成电路和泛半导体行业提供具竞争力的高端设备和高质量的服务。 挑战&#xff1a;芯片的行业在国内迅猛发展&#xff0c;用户在上海…

3033.力扣每日一题7/5 Java

博客主页&#xff1a;音符犹如代码系列专栏&#xff1a;算法练习关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 目录 思路 解题方法 时间复杂度 空间复杂度 Code 思路 首先创建一个与…

Vue3从入门到精通(三)

vue3插槽Slots 在 Vue3 中&#xff0c;插槽&#xff08;Slots&#xff09;的使用方式与 Vue2 中基本相同&#xff0c;但有一些细微的差异。以下是在 Vue3 中使用插槽的示例&#xff1a; // ChildComponent.vue <template><div><h2>Child Component</h2&…

解决前后端同一个端口跨域问题

前端起了一个代理 如果url是api开头的自动代理访问8080端口&#xff08;解决前后端端口不一致要么是前端代理&#xff0c;要么是后端加过滤器&#xff09; proxy:{/api:{target:http://localhost:8080,changeOrigin : true,// 替换去掉路径上的api// rewrite:(path)>path.r…

java集合(1)

目录 一.集合概述 二. 集合体系概述 1. Collection接口 1.1 List接口 1.2 Set接口 2. Map接口 三. ArrayList 1.ArrayList常用方法 2.ArrayList遍历 2.1 for循环 2.2 增强for循环 2.3 迭代器遍历 一.集合概述 我们经常需要存储一些数据类型相同的元素,之前我们学过…