Linux系统配置HTTPS详细步骤

 更新时间:2025年05月15日 11:11:27   作者:愤怒的代码  
在 Linux 系统上配置 HTTPS 需要几个步骤,包括获取 SSL/TLS 证书、配置 Web 服务器(如 Apache、Nginx)以及确保服务器支持 HTTPS 协议,这里以常见的 Nginx Web 服务器为例,介绍如何配置 HTTPS,需要的朋友可以参考下

配置 HTTPS 的步骤:

1. 获取 SSL/TLS 证书

你可以通过以下方式获取 SSL/TLS 证书:

  • 使用自签名证书(适用于开发或内部测试环境)

  • 从受信任的证书颁发机构 (CA) 获取证书(适用于生产环境)

  • 使用 Let’s Encrypt 免费获取证书

1.1 生成自签名证书(适合测试环境)

在 Linux 系统上,可以使用 openssl 来生成自签名证书。

# 创建一个私钥和证书签名请求 (CSR)
openssl req -new -newkey rsa:2048 -nodes -keyout mydomain.key -out mydomain.csr
​
# 使用私钥签署自签名证书
openssl x509 -req -days 365 -in mydomain.csr -signkey mydomain.key -out mydomain.crt

此命令生成了 mydomain.key(私钥)和 mydomain.crt(自签名证书)。在实际配置时,你需要提供证书和私钥的路径。

1.2 从 Let's Encrypt 获取免费证书(推荐用于生产)

Let’s Encrypt 提供免费 SSL 证书,可以通过工具 Certbot 获取和自动配置证书。

  • 安装 Certbot

# Ubuntu / Debian 系统
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx
  • 获取证书

# 使用 Certbot 为你的域名获取证书,并自动配置 Nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Certbot 将自动为你生成证书,并修改 Nginx 配置文件以启用 HTTPS。

2. 配置 Nginx

2.1 配置 HTTPS 虚拟主机

编辑 Nginx 配置文件(通常位于 /etc/nginx/sites-available/default 或 /etc/nginx/nginx.conf),并添加如下配置:

server {
    listen 443 ssl;
    server_name yourdomain.com www.yourdomain.com;
​
    ssl_certificate /etc/ssl/certs/mydomain.crt;
    ssl_certificate_key /etc/ssl/private/mydomain.key;
​
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
​
    location / {
        root /var/www/html;
        index index.html index.htm;
    }
}
​
# 强制 HTTP 重定向到 HTTPS
server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
​
    return 301 https://$host$request_uri;
}

ssl_certificate 和 ssl_certificate_key 指定 SSL 证书和私钥的路径。

ssl_protocols 和 ssl_ciphers 确保使用安全的加密协议和加密套件。

第二个 server 块用于将 HTTP 请求重定向到 HTTPS。

2.2 验证 Nginx 配置

编辑完成后,验证 Nginx 配置是否正确:

sudo nginx -t

如果配置正确,重启 Nginx 服务:

sudo systemctl restart nginx

3. 测试 HTTPS 配置

通过浏览器访问 https://yourdomain.com,确保 HTTPS 配置成功。如果你使用了自签名证书,浏览器可能会警告该证书不受信任。

4. 自动续期(Let’s Encrypt 证书)

Let’s Encrypt 的证书有效期为 90 天。你可以通过以下命令手动续期证书:

sudo certbot renew

通常,Certbot 会自动配置 cron 任务或系统计时器来自动续期证书。

总结

配置 HTTPS 涉及获取 SSL/TLS 证书并修改 Web 服务器配置文件,以确保服务器使用加密的 HTTPS 协议进行通信。使用 Let’s Encrypt 是配置生产环境中 HTTPS 的简单且免费的解决方案,而自签名证书则适用于开发或测试环境。

以上就是Linux系统配置HTTPS详细步骤的详细内容,更多关于Linux配置HTTPS的资料请关注脚本之家其它相关文章!

相关文章

  • 如何解决linux上传图片后无权限访问

    如何解决linux上传图片后无权限访问

    文章介绍了两种解决Linux上传图片后无权限访问的问题的方法,方案一是在不改变服务器配置的情况下,通过授权解决权限问题,方案二是修改Nginx配置文件,将第一行改为“root”,然后重启Nginx服务
    2025-02-02
  • 解决Centos7 安装腾达U12无线网卡驱动问题

    解决Centos7 安装腾达U12无线网卡驱动问题

    这篇文章主要介绍了Centos7 安装腾达U12无线网卡驱动,本文给出了解决过程,通过两种方法给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • Linux实操篇之进程管理详解

    Linux实操篇之进程管理详解

    文章介绍了Windows和Linux中进程管理的相关知识,包括如何打开任务管理器、进程的父进程、进程树等法、服务管理等法(如service、chkconfig和systemctl)以及动态监控(如top和netstat)等内容
    2026-05-05
  • 关于CentOs系统自带python和yum卸载后的解决办法

    关于CentOs系统自带python和yum卸载后的解决办法

    前几天因项目需要,在服务器上搭建python-mysql模块,结果没安装好,于是乎想卸载重装,遂在网上查询卸载python的方法,结果一不小心直接把系统的python删了个干净,怎么处理呢,看看小编给大家带来的本篇教程吧
    2018-11-11
  • Linux系统意外删除文件后的恢复方法小结

    Linux系统意外删除文件后的恢复方法小结

    在Linux系统中,当文件被意外删除后,有多种方法可以尝试恢复数据,本文档详细介绍了各种文件恢复技术,包括普通文件和数据库的恢复方法,需要的朋友可以参考下
    2025-06-06
  • VMware虚拟机中Ubuntu18.04无法连接网络的解决办法

    VMware虚拟机中Ubuntu18.04无法连接网络的解决办法

    这篇文章主要为大家详细介绍了VMware虚拟机中Ubuntu18.04无法连接网络的解决办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • linux虚拟网络设备之vlan配置详解

    linux虚拟网络设备之vlan配置详解

    这篇文章主要给大家介绍了关于linux虚拟网络设备之vlan配置的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-12-12
  • Linux 快速定位web路径方法

    Linux 快速定位web路径方法

    在一个虚拟主机的服务器上,有NN多站,可能我们通过某种途径搞到了一个webshell,可是找不到apache等web服务器的配置文件,找不到其他web的路徑,21f9c57b84sZmrkR这个时候就郁闷了。
    2009-07-07
  • 新装linux系统/etc/sysconfig目录下无iptables文件的解决方法

    新装linux系统/etc/sysconfig目录下无iptables文件的解决方法

    下面小编就为大家带来一篇新装linux系统/etc/sysconfig目录下无iptables文件的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • linux服务器下LNMP安装与配置方法

    linux服务器下LNMP安装与配置方法

    现在很多朋友都选择了linux服务器下配置LNMP(linux+nginx+mysql+php),这里分享下LNMP安装与配置方法,需要的朋友可以参考下
    2013-07-07

最新评论