如何在反向代理服务器上安装 Let's Encrypt SSL?
How to install Let's Encrypt SSL on reverse proxied server?
所以我在 DigitalOcean 中创建了一个 Ubuntu 16.04 droplet 并使用 ServerPilot 进行设置。 ServerPilot 使用 Apache 和 nginx 作为反向代理自动在您的 Ubuntu 之上创建一个网络服务器。
现在我不确定如何在反向代理服务器上安装 Let's Encrypt SSL。由于 nginx 服务于前端,我是否必须为 nginx 使用 运行 Certbot?我正在尝试使用 HTTPS 访问我的网站。
反向代理服务器的过程是否不同?
不,没有区别。您可以使用 Apache 的 webroot 或在 Nginx 中包含一条规则来直接回答所有 ACME 挑战请求。
例子
server {
listen 80;
server_name example.org;
location / {
return 301 https://$host$request_uri;
}
location /.well-known/acme-challenge {
root /tmp;
}
}
然后使用 /tmp
或任何其他途径来挑战。就我个人而言,我使用我自己的 PHP 编写的客户端,比官方客户端简单得多。参见 https://github.com/kelunik/acme-client。
所以我在 DigitalOcean 中创建了一个 Ubuntu 16.04 droplet 并使用 ServerPilot 进行设置。 ServerPilot 使用 Apache 和 nginx 作为反向代理自动在您的 Ubuntu 之上创建一个网络服务器。
现在我不确定如何在反向代理服务器上安装 Let's Encrypt SSL。由于 nginx 服务于前端,我是否必须为 nginx 使用 运行 Certbot?我正在尝试使用 HTTPS 访问我的网站。
反向代理服务器的过程是否不同?
不,没有区别。您可以使用 Apache 的 webroot 或在 Nginx 中包含一条规则来直接回答所有 ACME 挑战请求。
例子
server {
listen 80;
server_name example.org;
location / {
return 301 https://$host$request_uri;
}
location /.well-known/acme-challenge {
root /tmp;
}
}
然后使用 /tmp
或任何其他途径来挑战。就我个人而言,我使用我自己的 PHP 编写的客户端,比官方客户端简单得多。参见 https://github.com/kelunik/acme-client。