我收到的完整错误消息是:
Attempting to renew cert from /etc/letsencrypt/renewal/somedomain.com.conf produced an unexpected error: Problem binding to port 443: Could not bind to IPv4 or IPv6.. Skipping.
这是在AWS ubuntu 14.04实例上运行的。所有端口都是开放的,443是开放的。
有人有什么想法吗?
答案 0 :(得分:39)
当您的服务器已在端口443上运行时,您可能使用(预配置)--standalone
运行脚本。
您可以在续订前停止服务器并在之后启动它们。
男人说:--apache Use the Apache plugin for authentication & installation
--standalone Run a standalone webserver for authentication
--nginx Use the Nginx plugin for authentication & installation
--webroot Place files in a server's webroot folder for authentication
--manual Obtain certificates interactively, or using shell script hooks
如果我使用--apache
续订,我就不会收到任何错误。
答案 1 :(得分:24)
在执行此操作之前,您只需要停止所有正在运行的服务器,如Apache,nginx或OpenShift。
答案 2 :(得分:6)
正如其他答案所示,您需要为正在运行的网络服务器传递选项,例如:
没有webserver param:
sudo certbot renew
Cert需要续订,自动续订...
续订现有证书
执行以下挑战:example.com的tls-sni-01挑战 清理挑战 尝试从/etc/letsencrypt/renewal/example.com.conf续订证书(example.com)产生了意外 错误:
绑定到端口443的问题:无法绑定到IPv4或IPv6 .. 跳过。
然后,再次使用webserver param(成功):
sudo certbot renew --nginx
Cert需要续订,自动续订...
续订现有证书
执行以下挑战:example.com的tls-sni-01挑战 等待验证......
清理挑战重新加载nginx服务器部署的新证书;全链是 /etc/letsencrypt/live/example.com/fullchain.pem
恭喜,所有续约都成功了。以下证书已经过 续订:/etc/letsencrypt/live/example.com/fullchain.pem(成功)
答案 3 :(得分:2)
这是因为您使用了--standalone。该选项的目的是启动一个临时的网络服务器,因为你没有一个正在运行。
下次使用--webroot方法,您就可以使用已经运行的nginx服务器。
答案 4 :(得分:2)
[这是专门针对ubuntu ]
使用以下命令(对于nginx)停止服务器
service nginx stop
然后更新您的证书
certbot renew
启动服务器
service nginx start
[提示]要检查续订证书的到期日期,请在下面输入命令
ssl-cert-check -c [Path_to_your_certificate]/fullchain.pem
例如
ssl-cert-check -c /etc/letsencrypt/live/[your_domain_name]/fullchain.pem
或
ssl-cert-check -c /etc/letsencrypt/live/[your_domain_name]/cert.pem
如果您的服务器中尚未安装ssl-cert-check,请使用
安装apt install ssl-cert-check
注意:仅当证书未过期时才可以续订。如果已过期,则必须创建一个新的。
我希望这对您有帮助
答案 5 :(得分:1)
从@JKLIR借用只需运行
/etc/letsencrypt/letsencrypt-auto renew --apache >> /var/log/letsencrypt/renew.log
续订ssl证书
答案 6 :(得分:1)
对于ngnix
sudo certbot renew --nginx
对我来说很好
答案 7 :(得分:0)
如果您尝试以普通用户身份执行certbot
命令,则您may not have access to bind to port 80 and other lower ports。在这种情况下,您可以通过以下方式授予python访问权限以进行绑定:
首先,查看是否可以找到python 3+(根据需要进行调整)
echo "$(readlink -f "$(which python3)")"
允许python以普通用户身份打开端口80(根据需要进行调整)
sudo setcap CAP_NET_BIND_SERVICE=+eip "$(readlink -f "$(which python3)")"
重新运行失败的certbot
命令。
重要:在Ubuntu 18.04上,Python被称为python3
。根据操作系统以及如何获得certbot,可能会称其为许多不同的事物。此命令在操作系统之间会有所不同。
警告:这些较低的端口受到充分的限制。 setcap
命令有一些安全方面的考虑。您可以在这里阅读有关它们的更多信息:https://superuser.com/a/892391
答案 8 :(得分:0)
对于NodeJS / PM2用户
我在public function proses_tambah_menu(){
//$data['nama_gambar'] = $this->menu_model->view();
/*$data = array();
if($this->input->post('submit')){
$upload = $this->menu_model->insert_menu();
if($upload['result']=='success'){
$this->menu_model->save($upload);
}
}*/
$data['id_menu'] = $this->input->post('kode_menu');
$data['nama_menu'] = $this->input->post('nama_menu');
$data['jenismenu'] = $this->input->post('jenis-menu');
$data['satuan'] = $this->input->post('satuan');
$data['harga'] = $this->input->post('harga');
$data['nama_gambar'] = $this->input->post('image');
$data['deskripsi'] = $this->input->post('deskripsi');
$this->menu_model->insert_menu($data);
redirect(site_url('C_admin/data_menu'));
}
服务中使用了PM2
,并且在尝试续订证书时,我还收到了“问题绑定到端口80:无法绑定到IPv4或IPv6。”错误消息。
如上面对NodeJS
/ Apache
的回答所述,停止我的服务然后尝试续订即可解决问题。
Ngnix
答案 9 :(得分:0)
首先,您需要安装NGiNX让加密插件(如果您使用NGiNX):
sudo apt install python-certbot-nginx
然后您可以安全地运行:
sudo certbot renew --nginx
它将起作用。
注意:certbot应该已经安装。
答案 10 :(得分:0)
我使用Nginx,需要先停止服务器,然后才能继续。然后我运行命令:
$ sudo ./certbot-auto certonly --standalone -d chaklader.ddns.net
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for chaklader.ddns.net
Waiting for verification...
Cleaning up challenges
Subscribe to the EFF mailing list (email: xxx.chakfffder@gmail.com).
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/cdddddder.ddns.net/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/chaklader.ddns.net/privkey.pem
Your cert will expire on 2045-01-10. To obtain a new or tweaked
version of this certificate in the future, simply run certbot-auto
again. To non-interactively renew *all* of your certificates, run
"certbot-auto renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
答案 11 :(得分:0)
当我在单个实例上运行两个网站(主机)时,我遇到了类似的问题。我停止了Nginx,然后运行sudo certbot certonly --standalone --preferred-challenges http -d domain.com -d www.domain.com
。重新启动Nginx之后,一切开始正常运行。