当前位置: 代码网 > 服务器>服务器>Linux > Linux系统配置HTTPS详细步骤

Linux系统配置HTTPS详细步骤

2025年05月15日 Linux 我要评论
配置 https 的步骤:1. 获取 ssl/tls 证书你可以通过以下方式获取 ssl/tls 证书:使用自签名证书(适用于开发或内部测试环境)从受信任的证书颁发机构 (ca) 获取证书(适用于生产

配置 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的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com