将 certbot 与 nginx 一起使用时出现问题

Issue using certbot with nginx

我实际上正在开发一个网络应用程序,我使用 Reactjs 作为前端,使用 Golang 作为后端。这 2 个程序分别托管在 Google-Compute-Engine 上的 2 个虚拟机上。我想通过 https 为我的应用程序提供服务,因此我选择使用 Nginx 为生产中的前端提供服务。首先,我为 Nginx:

创建了配置文件
#version: nginx/1.14.0 (ubuntu)
server {
     listen 80 default_server;
     listen [::]:80 default_server;

     root /var/www/banshee;
     server_name XX.XXX.XX.XXX; #public IP of my frontend VM

     index index.html;

     location / {
       try_files $uri /index.html =404;
     }
   }

对于这部分,一切都按预期工作,但之后我想在 this tutorial 之后的 https 上提供我的应用程序。我安装了软件包 software-properties-commonpython-certbot-apache certbot 但是当我尝试

sudo cerbot --nginx certonly

我收到以下消息:

gdes@frontend:/etc/nginx$ sudo certbot --nginx certonly
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Could not choose appropriate plugin: The requested nginx plugin does not appear to be installed
The requested nginx plugin does not appear to be installed

我在 Google 和此处进行了一些搜索,但我仍然无法确定缺少哪个插件或其他解决方法。

有人有什么想法可以帮助我吗?

非常感谢 :)

您可以使用以下命令安装 Certbot nginx 插件:

add-apt-repository ppa:certbot/certbot
apt update
apt install python-certbot-nginx

我正在尝试使用 certbot 为我的 sub-domain 创建 let'sencrypt 证书,但遇到了以下问题。 命令:

ubuntu@localhost:~$ certbot --nginx -d my_subdomain.website.com

问题:

The requested nginx plugin does not appear to be installed

解法:

Ubuntu 20+

ubuntu@localhost:~$ sudo apt-get install python3-certbot-nginx

早期版本

ubuntu@localhost:~$ sudo apt-get install python-certbot-nginx

您需要更换

apt install python-certbot-nginx

来自

apt install python3-certbot-nginx

在 Debian 10 上,certbot returns 出现“找不到可用的 nginx 二进制文件”问题,因为 PATH 中缺少“/usr/sbin”。将 /usr/sbin 添加到路径

export PATH=/usr/sbin:$PATH

然后certbot可以为nginx制作证书

certbot --nginx -d <server name> --post-hook "/usr/sbin/service nginx restart"

debian wiki page for letsencrypt 中所述。