如何在 Ubuntu 20.04 中为 Nginx 创建自签名 SSL 证书
- 行业动态
- 2024-03-21
- 2
在 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
打开终端,运行以下命令以安装 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
“`
将 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;
}
}
“`
将 example.com 替换为您自己的域名。
保存文件并退出编辑器。
重启 Nginx 服务以应用更改:
“`
sudo systemctl restart nginx
“`
5、测试自签名证书是否生效
在浏览器中访问您的网站,确保显示安全锁标志,并且网站可以正常加载,如果一切正常,则表示自签名证书已成功安装并生效。
相关问题与解答:
1、Q: 我使用的是旧版本的 Nginx,如何为其创建自签名证书?
A: 如果使用的是旧版本的 Nginx,可以使用 OpenSSL 工具手动生成私钥和 CSR,然后使用 Certbot 进行证书的申请和安装,具体步骤可以参考官方文档或相关教程。
2、Q: 我的网站有多个域名,如何为每个域名都配置自签名证书?
A: 如果网站有多个域名,可以为每个域名分别生成一个私钥和 CSR,然后使用 Certbot 为每个域名申请和安装独立的证书,在 Nginx 配置文件中,为每个域名创建一个 server 块,并指定相应的证书和私钥文件路径即可。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/186384.html