Ubuntu上生成SSL证书完整指南
海外云服务器 40个地区可选 亚太云服务器 香港 日本 韩国
云虚拟主机 个人和企业网站的理想选择 俄罗斯电商外贸虚拟主机 赠送SSL证书
美国云虚拟主机 助力出海企业低成本上云 WAF网站防火墙 为您的业务网站保驾护航
本文提供了在Ubuntu系统上生成SSL证书的详细步骤,安装Let's Encrypt客户端Certbot,使用Certbot与Apache或Nginx集成,自动生成并安装SSL证书,通过命令行工具,用户可轻松完成域名验证、证书签发及自动续期设置,整个过程无需手动处理密钥和证书文件,确保网站安全的同时简化了配置流程。
在当今的互联网世界中,数据的安全传输变得至关重要,SSL(Secure Sockets Layer)证书作为一种数字凭证,能够加密客户端与服务器之间的通信,确保数据在传输过程中不会被窃取或篡改,本文将详细介绍如何在Ubuntu系统上生成自签名SSL证书,并配置Nginx来使用该证书。
sudo apt update sudo apt install openssl
生成私钥和证书请求文件
-
生成私钥 私钥是SSL证书的核心部分,用于加密和解密数据,您可以通过以下命令生成一个2048位的RSA私钥:
sudo openssl genrsa -out server.key 2048
这里,
server.key
是私钥文件的名称,您可以根据实际需求进行修改。 -
生成证书请求文件 创建一个证书请求文件(CSR)以供后续生成证书,执行以下命令:
sudo openssl req -new -key server.key -out server.csr
在此步骤中,您将被提示输入一些信息,例如国家代码、组织名称等,这些信息将被包含在证书请求文件中。
生成自签名证书
由于我们这里仅演示如何生成自签名证书,因此无需向证书颁发机构(CA)提交证书请求,我们可以直接使用私钥和证书请求文件生成自签名证书:
sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
上述命令会生成一个有效期为一年的自签名证书 server.crt
,您可以根据实际需求调整证书的有效期。
配置Nginx以使用SSL证书
-
安装Nginx 如果尚未安装Nginx,可以使用以下命令进行安装:
sudo apt install nginx
-
修改Nginx配置文件 默认情况下,Nginx的配置文件位于
/etc/nginx/sites-available/default
,打开该文件并进行如下修改:server { listen 80; server_name your_domain.com; location / { root /var/www/html; index index.html index.htm; } # 将所有HTTP流量重定向到HTTPS return 301 https://$host$request_uri; } server { listen 443 ssl; server_name your_domain.com; ssl_certificate /path/to/server.crt; ssl_certificate_key /path/to/server.key; location / { root /var/www/html; index index.html index.htm; } }
请确保将
your_domain.com
替换为您自己的域名,并将/path/to/server.crt
和/path/to/server.key
替换为您生成的证书和私钥的实际路径。 -
测试Nginx配置 在应用新的配置之前,建议先测试其是否正确:
sudo nginx -t
如果一切正常,则可以重新加载Nginx服务:
sudo systemctl reload nginx
验证SSL证书
您可以访问您的网站,并检查浏览器地址栏中的锁图标以确认SSL证书已正确安装,您还可以使用在线工具,如 SSL Labs 提供的“SSL测试”功能,进一步验证您的证书配置。