如何在 Ubuntu 20.04 中为 Nginx 创建自签名 SSL 证书

在 Ubuntu 20.04 中,使用 OpenSSL 创建自签名 SSL 证书,然后将其配置到 Nginx。具体步骤如下:,,1. 安装 OpenSSL:,“sudo apt-get update,sudo apt-get install openssl`,,2. 生成私钥和 CSR(证书签名请求):,`,sudo openssl req -newkey rsa:2048 -nodes -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.csr,`,按照提示输入相关信息,如国家、省份、城市等。,,3. 生成自签名 SSL 证书:,`,sudo openssl x509 -req -days 365 -in /etc/nginx/ssl/nginx.csr -signkey /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt,`,这将生成一个有效期为 365 天的自签名 SSL 证书。,,4. 配置 Nginx 以使用自签名 SSL 证书:,编辑 Nginx 配置文件(通常位于 /etc/nginx/sites-available/default),将以下内容添加到 server 块中:,`,listen 443 ssl;,ssl_certificate /etc/nginx/ssl/nginx.crt;,ssl_certificate_key /etc/nginx/ssl/nginx.key;,`,保存并退出编辑器。,,5. 重启 Nginx 以应用更改:,`,sudo systemctl restart nginx,“,现在,Nginx 应该已经配置为使用自签名 SSL 证书。访问服务器时,浏览器可能会显示一个安全警告,因为这是一个自签名证书。在实际生产环境中,建议使用权威证书颁发机构颁发的证书。

在 Ubuntu 20.04 中为 Nginx 创建自签名 SSL 证书的步骤如下:

1、安装 OpenSSL 和 Certbot

如何在 Ubuntu 20.04 中为 Nginx 创建自签名 SSL 证书

打开终端,运行以下命令以安装 OpenSSL 和 Certbot:

“`

sudo apt update

sudo apt install softwarepropertiescommon

sudo addaptrepository ppa:certbot/certbot

sudo apt install pythoncertbotnginx

“`

2、生成私钥和证书签名请求(CSR)

运行以下命令生成私钥和 CSR:

“`

sudo openssl req new newkey rsa:2048 nodes keyout /etc/ssl/private/nginx.key out /etc/ssl/csr/nginx.csr

“`

按照提示输入相关信息,如国家、组织等。

3、自签名证书的申请与安装

运行以下命令使用 Certbot 自动申请并安装自签名证书:

“`

sudo certbot nginx d example.com d www.example.com agreetos noeffemail redirect n stapleocsp

如何在 Ubuntu 20.04 中为 Nginx 创建自签名 SSL 证书

“`

example.com 替换为您自己的域名。

4、配置 Nginx 使用自签名证书

打开 Nginx 配置文件 /etc/nginx/sitesavailable/default,找到 server 块,修改为以下内容:

“`

server {

listen 80;

server_name example.com www.example.com;

return 301 https://$host$request_uri;

}

server {

listen 443 ssl;

server_name example.com www.example.com;

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;

ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

location / {

try_files $uri $uri/ =404;

如何在 Ubuntu 20.04 中为 Nginx 创建自签名 SSL 证书

}

}

“`

example.com 替换为您自己的域名。

保存文件并退出编辑器。

重启 Nginx 服务以应用更改:

“`

sudo systemctl restart nginx

“`

5、测试自签名证书是否生效

在浏览器中访问您的网站,确保显示安全锁标志,并且网站可以正常加载,如果一切正常,则表示自签名证书已成功安装并生效。

相关问题与解答:

1、Q: 我使用的是旧版本的 Nginx,如何为其创建自签名证书?

A: 如果使用的是旧版本的 Nginx,可以使用 OpenSSL 工具手动生成私钥和 CSR,然后使用 Certbot 进行证书的申请和安装,具体步骤可以参考官方文档或相关教程。

2、Q: 我的网站有多个域名,如何为每个域名都配置自签名证书?

A: 如果网站有多个域名,可以为每个域名分别生成一个私钥和 CSR,然后使用 Certbot 为每个域名申请和安装独立的证书,在 Nginx 配置文件中,为每个域名创建一个 server 块,并指定相应的证书和私钥文件路径即可。

原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/358780.html

(0)
酷盾叔订阅
上一篇 2024-03-21 05:58
下一篇 2024-03-21 06:00

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入