我正在尝试为运行 Bitnami Parse-Server 的 AWS Ubuntu 实例续订 Let's encrypt 证书,该实例旨在作为 iOS 应用程序的后端。当 iOS 应用程序崩溃并显示消息时,"Sign on failed, the data couldn't be read because it isn't in the correct format"
我假设 Let's encrypt 证书需要续订,并执行了以下步骤,但出现以下错误:
停止了我的 Apache 服务器和解析服务器
sudo service apache2 stop; sudo /opt/bitnami/ctlscript.sh stop
运行 Let's encrypt 工具
sudo /opt/bitnami/bncert-tool
允许它安装最新版本,然后以同样的方式重新启动该工具
sudo /opt/bitnami/bncert-tool
使用工具来更新证书,但在输入域的步骤之后收到错误:
错误:出现错误。无法绑定到端口 80 和/或 443。这些端口用于 Let's Encrypt 验证域 DNS 配置。请停止使用这些端口的任何服务,并确保您的系统用户有权绑定到这些端口。
当我在线搜索如何解决此问题时,似乎停止 apache 可以解决其他人遇到的所有问题。如何使用 Let's encrypt 续订证书?有没有办法确定导致此绑定问题的原因,因为它不是 apache 或解析服务器?
根据评论者的要求,这是我在sudo ss -tnlp
终止 Parse 和 Apache2 后运行时更新的结果,我注意到 http.bin 仍然处于活动状态?:
sudo /opt/bitnami/ctlscript.sh stop
sudo service apache2 stop
bitnami@ip-172-31-22-220:~$ sudo ss -tnlp
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:* users:(("sshd",pid=1242,fd=3))
LISTEN 0 128 :::22 :::* users:(("sshd",pid=1242,fd=4))
LISTEN 0 128 :::443 :::* users:(("httpd.bin",pid=17756,fd=6),("httpd.bin",pid=17667,fd=6),("httpd.bin",pid=17666,fd=6),("httpd.bin",pid=16633,fd=6),("httpd.bin",pid=15776,fd=6),("httpd.bin",pid=15769,fd=6))
LISTEN 0 128 :::80 :::* users:(("httpd.bin",pid=17756,fd=4),("httpd.bin",pid=17667,fd=4),("httpd.bin",pid=17666,fd=4),("httpd.bin",pid=16633,fd=4),("httpd.bin",pid=15776,fd=4),("httpd.bin",pid=15769,fd=4))
bitnami@ip-172-31-22-220:~$ ps -ef | grep 17756
daemon 17756 16633 0 Jul11 ? 00:00:03 /opt/bitnami/apache2/bin/httpd.bin -f /opt/bitnami/apache2/conf/httpd.conf
bitnami 19359 19181 0 00:51 pts/0 00:00:00 grep --color=auto 17756
答案1
看起来您的 Apache 服务器仍在运行。(您的 Node 应用程序也是如此。)如果 Bitnami 脚本无法停止它,您应该自行终止它。