1、安装certbot
首先需要在ubuntu
系统上安装certbot
客户端,用于获取SSL证书,在终端中运行以下命令安装certbot
sudo apt update
sudo apt install certbot python3-certbot-nginx
安装完成后,你可以使用Certbot来为你的Nginx配置SSL证书。以下是如何使用Certbot配置SSL证书的步骤:
配置nginx
1、获取SLL证书
sudo certbot --nginx
2、自动续订证书
Certbot通常会自动为你的SSL证书设置定时任务来进行续订。你无需手动操作,Certbot将会在证书即将到期时自动续订。
3、更新Nginx配置文件
Certbot会自动帮你修改Nginx的配置文件,将SSL证书的相关信息加入配置中,包括SSL证书文件路径等。因此,你无需手动修改Nginx配置文件。
请确保在配置SSL证书之前,你的Nginx配置文件中已经设置了域名,并且这个域名的DNS解析已经指向了你的服务器。Certbot会验证域名的所有权,确保你拥有该域名。
完成上述步骤后,你的Nginx配置文件会自动包含SSL证书的相关配置,实现了HTTPS的访问。需要注意的是,Certbot会自动配置SSL证书的续订任务,所以你无需担心证书过期的问题。
查看配置
查看certbot自动的配置
root@stickerwu:/www# cat /etc/nginx/conf.d/admin.stickerwu.net.conf
server {
server_name admin.stickerwu.net;
location / {
root /www/admin;
index index.html index.htm;
# 解决页面刷新 404 问题
try_files $uri $uri/ /index.html @rewrites;
# 首页一般没有强制缓存
expires -1;
add_header Cache-Control no-cache;
}
# 接口转发给后端处理
location ~ ^/api {
proxy_pass http://localhost:7001;
}
# 将以 /res 开头的请求转发到 localhost:7001
location ~ ^/res {
proxy_pass http://localhost:7001;
}
location ~ ^/static {
proxy_pass http://localhost:7001;
}
location @rewrites {
rewrite ^(.+)$ /index.html break;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/admin.stickerwu.net/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/admin.stickerwu.net/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = admin.stickerwu.net) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name admin.stickerwu.net;
return 404; # managed by Certbot
}