如何在 Ubuntu 18.04 和 16.04 LTS 上使用 Let’s Encrypt 保护 Nginx

2023-11-06

本教程将帮助您在 Ubuntu 系统上安装 Let's encrypt 客户端,并为 Nginx Web 服务器上运行的域颁发 SSL 证书。

  • Apache 与 Let's Encrypt SSL
  • 手动设置 Let's Encrypt SSL on Ubuntu

第 1 步 – 先决条件

在开始执行此任务之前,我假设您已经具备:

  • 使用 sudo 特权 shell 访问运行 Ubuntu 系统。
  • 注册并指向您服务器的公共 IP 地址的域名。在本教程中,我们使用 example.com 和 www.example.com,它们指向我们的服务器。
  • 运行 Nginx Web 服务器,并为 example.com 和 www.example.com 配置 VirtualHost 端口 80。

第 2 步 – 安装 Let's Encrypt 客户端

您可以下载certbot-auto让我们加密客户端并将其保存在/usr/sbin目录。使用以下命令来执行此操作。


sudo wget https://dl.eff.org/certbot-auto -O /usr/sbin/certbot-auto
sudo chmod a+x /usr/sbin/certbot-auto
  

步骤 3 – 为 Nginx 颁发 SSL

Let’s Encrypt 自动执行具有多重挑战的域验证 (DV)。一旦证书颁发机构 (CA) 验证了您的域名的真实性,就会颁发 SSL 证书。

您不需要为 SSL/HTTPS 创建 VirtualHost,Let's encrypt 会创建它。您只需为端口 80 创建 VirtualHost。


sudo certbot-auto --nginx -d example.com  -d www.example.com
  

上述命令将提示输入电子邮件地址,该地址用于发送与 SSL 续订和过期相关的电子邮件警报。另外,再问几个问题。完成后,它将颁发 SSL 证书,并在您的系统上创建新的 VirtualHost 配置文件。

步骤 4 – 配置 SSL 自动续订

最后,在服务器 crontab 上配置以下作业以根据需要自动续订 SSL 证书。


0 2 * * * sudo /usr/sbin/certbot-auto -q renew
  

您可能喜欢:

  • Nginx – Redirect to HTTPS
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ubuntu 18.04 和 16.04 LTS 上使用 Let’s Encrypt 保护 Nginx 的相关文章

  • 使用 FastCGI 运行 Lua 脚本

    我目前正在尝试找出使用 FastCGI 与 lighttpd 或 Nginx 一起运行 Lua 脚本的方法 我唯一能挖到的是WSAPI http keplerproject github com wsapi 开普勒计划的一部分 但我想知道是
  • Nginx 中 uwsgi_pass 和 proxy_pass 的区别?

    我在 Nginx 后面运行 uWSGI 并一直在使用proxy pass让 Nginx 访问 uWSGI 切换到有什么好处吗uwsgi pass 如果是这样 那是什么 uwsgi pass使用一个uwsgi协议 proxy pass使用普通
  • 如果Jetty的密钥库中有多个证书,它如何选择?

    我们的系统中有一些代码用于自动将自签名证书生成到密钥库中 然后由 Jetty 使用 如果给定主机的密钥已经存在 那么什么也不会发生 但如果它不存在 我们会生成一个新密钥 如下所示 public void generateKey String
  • 如何以编程方式创建证书签名请求 (CSR)?

    如何用C实现呢 openssl req new key cert key out cert csr openssl x509 req in cert csr CA rootCA crt CAkey rootCA key CAcreatese
  • Docker:Nginx 和 php5-fpm docker 不说话

    我想进行完全 Docker 化的 Drupal 安装 我的第一步是让容器与 Nginx 和 php5 fpm 一起运行 两者都基于 Debian 我在 CoreOS alpha 频道 使用 Digital Ocean 我的 Dockerfi
  • SSL 到底如何工作?

    SSL 是如何工作的 证书安装在客户端 或浏览器 和服务器 或Web服务器 的哪里 当您在浏览器中输入 URL 并从服务器获取页面时 信任 加密 身份验证过程如何启动 HTTPS协议如何识别证书 当证书负责所有信任 加密 身份验证工作时 为
  • WebSockets 监听 UNIX 域套接字?

    是否可以在 nginx 服务器后面设置一个 WebSockets 服务器来处理 UNIX 域套接字上的连接 我目前在同一台计算机上有多个 WebSocket 服务器实例 并且存在端口共享问题 所有实例都必须分配一个唯一的端口 我想避免这种情
  • 如何使用代理将 boost::asio 连接到 HTTPS 服务器?

    在我们的应用程序中 我们使用 boost asio 来使用 HTTP 和 HTTPS 进行连接 我们还可以使用 HTTP 代理 现在我需要使用代理添加对 HTTPS 服务器的支持 我研究了相当多的样本 发现所需的步骤似乎是 创建到代理的 H
  • 如何修改s_client的代码?

    我正在玩apps s client c in the openssl源代码 我想进行一些更改并运行它 但是在保存文件并执行操作后 我的更改没有得到反映make all or a make 例如 我改变了sc usage函数为此 BIO pr
  • Java FTPS 无法检索文件列表(FileZilla 客户端工作正常)

    我正在使用 Apache Commons Net v3 5 和 Java 8 连接到远程 FTPS 站点 即在互联网上 我可以轻松连接 Windows 10 计算机上的 FileZilla 客户端 但我的 Java 程序无法完成相同的步骤
  • WebView ssl 错误

    对不起我的英语不好 我需要加载 url https 我有一些问题 当我尝试加载页面时 webView 给我错误 primary error 3 certificate Issued to CN my site com Issued by C
  • nginx 匹配位置中的特定单词

    我在匹配 nginx request body 变量中的特定单词时遇到问题 如果正文请求中有特殊单词 我想代理传递 所以我的方法是这样的 location php if request body proxy pass http test p
  • 如何在运行 NGINX Docker 容器的 AWS EC2 上启用 HTTPS?

    我在 AWS 上有一个运行 Amazon Linux 2 的 EC2 实例 在上面 我安装了 Git docker 和 docker compose 完成后 我克隆了我的存储库并运行docker compose up让我的生产环境启动 我访
  • 如何识别我的证书是否包含私钥?

    根据这个服务器故障问题的答案 https serverfault com questions 9708 what is a pem file and how does it differ from other openssl generat
  • 强制某些页面通过 HTTPS,而其他页面则通过 HTTP...这可能吗?

    我真的被这个困住了 基本上 我尝试使用 IIS 的 URLRewrite 附加组件始终通过 SSL 制作 2 个页面 但我还需要强制所有其他页面使用 HTTP 叹气 不要问 但如果我强制其他页面通过 HTTP 那么当您查看 SSL 页面时
  • Http POST 删除 URL 中的端口

    我有一个用 Django 构建的网络应用程序 我目前正在家里的路由器后面的笔记本电脑上运行它 我将路由器配置为将发送到特定端口的所有流量路由到该笔记本电脑 我将 Nginx 作为 Apache 的反向代理 使用 mod wsgi 来运行 D
  • 将应用程序级别用户名/用户 ID 注入 nginx/Apache 日志

    有没有办法将应用程序级别的用户名或 id 在本例中为 django 用户名或 id 注入 Apache 或 ngnix 日志中 请注意 我不是询问 HTTP 身份验证用户名 我目前正在使用一个简短的自定义中间件将此数据添加到响应标头 如下所
  • 如何在docker的keycloak中添加SSL

    我在将 SSL 证书添加到在 docker 上运行的 Keycloak 时遇到问题 我通过负载均衡器从 AWS EC2 获得了 SSL 证书 但不知道如何将其添加到 docker 上的 Keycloak 中 我正在通过谷歌搜索 但尚未找到任
  • 使用 TLS/SSL 保护 Cassandra 通信

    我们希望保护 Cassandra 免受中间人攻击 有没有办法配置 Cassandra 使客户端 服务器和服务器 服务器 复制 通信采用 SSL 加密 谢谢 简短的回答 不 对于客户端 服务器 节俭 151 https issues apac
  • 如何使用Python中字符串变量中存储的证书打开ssl套接字

    在Python中 ssl wrap socket可以从文件中读取证书 ssl wrap socket需要证书作为文件路径 如何使用从字符串变量读取的证书启动 SSL 连接 我的主机环境不允许写入文件 并且临时文件模块不起作用我正在使用Pyt

随机推荐

  • vmstat – 通过示例监控 Linux 中的内存和进程

    在 Linux 系统管理领域 监控和了解系统的性能对于确保其顺利运行至关重要 其中一种重要的监控工具是 vmstat 多功能命令行实用程序 提供有关 Linux 系统内存 进程 IO 和 CPU 使用情况的深入统计数据 在本文中 我们将深入
  • 通过 SSH 传输文件的综合指南

    Secure Shell SSH 是一种加密网络协议 用于计算机之间的安全通信和远程命令执行 其最常见的用例之一是通过网络安全地传输文件 在本指南中 我们将探索通过 SSH 传输文件的各种工具和方法 包括 scp rsync 和 sftp
  • 如何在 Debian 10 上安装 AnyDesk

    AnyDesk 是一款适用于 Linux Windows 和 macOS 操作系统的远程桌面应用程序 这也可以用作 TeamViewer 的替代品 TeamViewer 是免费提供的 Anydesk 提供比任何其他现有远程桌面应用程序更快的
  • GoAccess – 实时 Apache 和 Nginx 日志分析器

    GoAccess是 Unix Linux 系统上 Web 服务器的实时日志分析器 它还允许通过网络浏览器访问日志 主要目的是允许用户提供一种快速的方法来实时分析和查看网络服务器统计数据 而无需网络浏览器 它支持大多数 Web 日志格式 Ap
  • 如何在 Debian 11 上安装 Anaconda

    Anaconda 是一个用 Python 编程语言编写的开源平台 它是由数据科学家为数据科学家构建的 Anaconda 包含各种各样的软件包和存储库 它的功能很重要 因为它提供大规模的处理和计算数据 并且还可以用Python语言进行编程 A
  • GitHub 操作入门

    GitHub Actions 是 GitHub 平台内置的自动化功能 它允许您在存储库中自动化工作流程 包括软件构建 测试和部署 作为开发人员 拥有此功能可以简化您的工作流程并提高工作效率 本文将指导您完成 GitHub Actions 的
  • 如何在 CentOS/RHEL 7/6 和 Fedora 32/31 上安装 Python 2.7.18

    今天 我试图在 CentOS 7 4 系统上安装一个应用程序 该应用程序需要 Python gt 2 7 10 但安装了 Python 2 7 5 我们无法删除它 因为其他应用程序依赖于它 本教程将帮助您安装 Python 2 7 18 而
  • 如何获取或设置 PHP 脚本的默认时区

    处理时区是在基于 Web 的应用程序中处理日期和时间的关键部分 在 PHP 中 设置默认时区对于确保应用程序根据用户位置准确表示日期和时间至关重要 在本文中 我们将讨论如何在 PHP 中获取或设置默认时区 获取默认时区 要获取 PHP 中的
  • 如何在 Ubuntu 20.04 中安装 PIP

    Pip 是一个包安装工具 用于从 Python Package Index 和各种存储库获取包 Pip 代表 首选安装程序 是一个基于 Python 的包管理应用程序 可简化包安装和管理过程 Pip 是一个用于 Python 项目的多平台包
  • 使用 Python 装饰器进行 Web 开发

    Python 装饰器是一项强大的功能 允许您修改或扩展函数和方法的行为 而无需更改其代码 它们在 Web 开发中特别有用 可以简化身份验证 访问控制 输入验证和日志记录等任务 这份综合指南将帮助您掌握用于 Web 开发的 Python 装饰
  • 2023 年保护在线数据和隐私的 5 种方法

    在日益互联的世界中 保护您的在线数据和隐私变得比以往任何时候都更加重要 随着技术的不断发展 网络犯罪分子 黑客和数据泄露带来的威胁也在不断发展 2023 年 个人和企业都必须主动保护其敏感信息并确保其在线活动的安全 在本文中 我们将探讨保护
  • 如何使用 Sysstat 监控 Linux 系统性能

    Sysstat是一个用C语言编写的功能强大的Linux系统性能监控工具 这是我发现的用于调试 Linux 系统性能问题的最佳工具 Sysstat 是一个开源且免费的工具 本教程将帮助您在系统上安装 Sysstat 软件包并监控 Linux
  • 如何在 CentOS/RHEL 7.6 和 6.10 上安装 PHP 7、NGINX、MySQL

    几天前 PHP 7 2 版本已经发布 与 PHP 7 X 版本相比 它有许多更改和改进 本文将帮助您在 CentOS RHEL 7 4 6 9 操作系统上安装 PHP 7 NGINX 和 MySQL 5 6 本教程已在CentOS 7 4上
  • 编写一个 Python 程序以从函数返回多个值

    Python 是一种流行的编程语言 广泛用于开发各种应用程序 Python 脱颖而出的功能之一是它能够从函数返回多个值 这一功能使开发人员能够创建返回多个值的函数 从而更轻松地处理复杂的数据结构并提高代码可读性 在本文中 我们将讨论如何从
  • Git 恢复:功能和实际示例

    在流行的版本控制系统 Git 提供的众多命令中 git Restore 是全球开发人员的重要命令 它作为新的实验命令在 Git 2 23 中引入 已广泛用于丢弃工作目录和暂存区域中的更改 它被视为其他命令 例如 git checkout 和
  • 如何在 Debian 上安装 Maven

    Apache Maven 是一个软件项目管理和理解工具 Maven 可以通过中央信息来管理项目的构建 报告和文档 本教程将帮助您在 Debian 11 Debian 10 Debian 9 和 Debian 8 系统上安装 Apache M
  • 比较 Apache MPM Worker 和 Prefork:哪一个最适合您的应用程序

    Apache 多处理模块 MPM 是 Apache HTTP 服务器的重要组件 因为它们控制服务器的进程管理并确定服务器如何处理多个请求 有多种不同类型的 Apache MPM 可用 包括 Prefork 和 Worker 在本文中 我们将
  • 如何使用 Let’s Encrypt SSL 保护 GitLab 服务器

    我们总是说 安全第一 确保您的辛勤工作免受黑客攻击应该是首要任务 本教程将花费几分钟时间使用 Let s Encrypt SSL 证书来保护 Gitlab 服务器 Let s Encrypt 提供免费的 SSL 证书来保护您的域 并提供一种
  • 如何在 Python 中访问环境变量

    环境变量是任何编程环境的一个重要方面 它们存储配置设置 系统路径和应用程序依赖的其他基本数据 作为一名 Python 开发人员 了解如何访问和管理这些变量对于创建健壮 适应性强且可维护的应用程序至关重要 在这份综合指南中 我们将探讨 Pyt
  • 如何在 Ubuntu 18.04 和 16.04 LTS 上使用 Let’s Encrypt 保护 Nginx

    本教程将帮助您在 Ubuntu 系统上安装 Let s encrypt 客户端 并为 Nginx Web 服务器上运行的域颁发 SSL 证书 Apache 与 Let s Encrypt SSL 手动设置 Let s Encrypt SSL