snake 的个人博客

记录精彩的程序人生

真正的大师永远都怀着一颗学徒的心。不要被骄傲遮蔽双眼。怀疑是最强大的敌人。
  menu
6 文章
1 评论
18997 浏览
1 当前访客
ღゝ◡╹)ノ❤️

使用Certbot申请域名SSL证书(python3-certbot-nginx)

使用Nginx进行反向代理配置(ubuntu 22.04)

1.安装Nginx

#  安装 Nginx
sudo apt-get install nginx

# 启动 Nginx
sudo service nginx restart

2.配置Nginx

现在你需要为你的服务创建一个单独的Nginx配置文件,如下示例:

# 使用 vim 创建 demo.conf
vim /etc/nginx/sites-enabled/demo.conf

# 创建以下内容
server {
    listen 80;

    server_name mydomian.com www.mydomian.com; #你的域名

    location / {
        proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass http://127.0.0.1:8080/; #你的服务地址
    }
}

修改完成之后

# 重启 Nginx 配置
sudo service nginx restart

使用certbot申请SSL证书

1.为单域名申请SSL证书

# 安装 certbot 以及 certbot nginx 插件
sudo apt install certbot python3-certbot-nginx

# 执行配置,中途会询问你的邮箱,如实填写即可
sudo certbot --nginx

# 自动续约
sudo certbot renew --dry-run

至此,SSL证书的配置就完成了,申请成功的话,证书文件会存放在/etc/letsencrypt/archive/http://youdomain.com/目录下,由于我们采用的是自动操作,所以Nginx配置certbot会帮我们配置好。如果没有问题,demo.conf会自动更新为以下内容:

server {

    server_name youdomin.com www.youdomin.com;

    client_max_body_size 1024m;

    location / {
        proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_pass http://127.0.0.1:8080/;
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/youdomian.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/youdomian.com/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 = www.youdomin.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80;

    server_name youdomian.com www.youdomian.com;
    return 404; # managed by Certbot
}

你现在可以试着用https访问一下你的网站。 但是如果我们想为一些子域名也配置Https访问,还需要进一步的设置。


标题:使用Certbot申请域名SSL证书(python3-certbot-nginx)
作者:snake
地址:HTTPS://7os.com.cn/articles/2024/05/10/1715331114738.html

评论
取消