Raspberry pi 如何实现Let’;s加密Lighttpd的证书续订?

Raspberry pi 如何实现Let’;s加密Lighttpd的证书续订?,raspberry-pi,lighttpd,lets-encrypt,Raspberry Pi,Lighttpd,Lets Encrypt,在运行Lighttpd的Linux系统上,如何为Let's Encrypt certs自动更新证书。Let's Encrypt为Apache 2和NGINX提供了很好的脚本,但Lighttpd对Raspberry Pi或old Box等小型系统来说要舒服得多。Danny Tuppeny提供了一个很好的开始,您可以在他的博客文章中运行一个简单的脚本 #更新证书 #更新名称更改[mscalora] letsencrypt自动更新 #重建证书 pushd/etc/letsencrypt/live//

在运行Lighttpd的Linux系统上,如何为Let's Encrypt certs自动更新证书。Let's Encrypt为Apache 2和NGINX提供了很好的脚本,但Lighttpd对Raspberry Pi或old Box等小型系统来说要舒服得多。

Danny Tuppeny提供了一个很好的开始,您可以在他的博客文章中运行一个简单的脚本

#更新证书
#更新名称更改[mscalora]
letsencrypt自动更新
#重建证书
pushd/etc/letsencrypt/live//
cat privkey.pem cert.pem>combined.pem
邻苯二胺
#重新装载
/etc/init.d/lighttpd强制重新加载
基于最新的Let's Encrypt脚本包的更通用版本可以在my Gist:中找到。此脚本将处理具有证书的多个域


Danny Tuppeny的博客文章中也有关于原始设置的信息。

Danny Tuppeny提供了一个很好的开始,您可以在他的博客文章中运行一个简单的脚本

#更新证书
#更新名称更改[mscalora]
letsencrypt自动更新
#重建证书
pushd/etc/letsencrypt/live//
cat privkey.pem cert.pem>combined.pem
邻苯二胺
#重新装载
/etc/init.d/lighttpd强制重新加载
基于最新的Let's Encrypt脚本包的更通用版本可以在my Gist:中找到。此脚本将处理具有证书的多个域

Danny Tuppeny的博客文章也提供了有关原始设置的信息。

有一个通用身份验证程序(插件),适用于任何web服务器。但是,如果您的服务器处理端口80上的请求,您将面临一个问题,certbots会说“此插件需要绑定到端口80才能执行域验证,因此您可能需要停止现有的Web服务器。”因此,如果您必须为Web服务器续订证书,则它会在域验证期间停机。 如果你不关心这样的停机时间,请使用独立插件

但是,有一种解决方案可以帮助您避免停机:

  • 使用参数运行:--standalone--http-01-port 123456-插件的Web服务器将在端口12346而不是80上启动,因此您不需要停止Web服务器

  • 设置并运行一个非常轻量级的中间反向代理,例如:

  • yum-y安装tinyproxy--enablerepo='epel'

    配置它,监听端口12345。其配置可以如下所示:

    User tinyproxy
    Group tinyproxy
    
    Port 12345
    Timeout 6000
    MaxClients 100
    MinSpareServers 5
    MaxSpareServers 20
    StartServers 10
    MaxRequestsPerChild 0
    BindSame yes
    DisableViaHeader Yes
    ConnectPort 80
    ConnectPort 12346
    AddHeader "X-Forwarded-Proto" "http"
    ReversePath "/" "http://127.0.0.1/"
    ReversePath "/.well-known/acme-challenge/" "http://127.0.0.1:12346/.well-known/acme-challenge/"
    ReverseOnly Yes
    ReverseMagic Yes
    
    它应该侦听HTTP通信并在两个Web服务器之间重定向请求。代理过滤流量并将包含“/.well-known/acme challenge/”的Let's Ecnrypt验证请求重定向到插件的Web服务器到端口12346,将常规HTTP请求重定向到您的Web服务器到端口80

  • 使用iptables创建HTTP流量重定向以将代理从端口80反向到端口12345,并接受新端口上的流量:
  • iptables-I输入-p tcp-m tcp--dport12346-j接受 iptables-I输入-p tcp-m tcp--dport 12345-j接受 iptables-t nat-I预路由-p tcp-m tcp-s 127.0.0.1/32--端口80-j重定向--到端口12345

  • 验证完成后立即删除上述防火墙规则并停止代理服务器
  • 这就是您所拥有的所有功能,让我们自动加密证书续订,而不会停机,也不会更改Web服务器内容

    您可以下载实现解决方案的脚本,并根据需要采用它。实际上,这个脚本是名为的自动化包的一部分。该软件包是一个场景。

    有一个通用验证器(插件),适用于任何web服务器。但是,如果您的服务器处理端口80上的请求,您将面临一个问题,certbots会说“此插件需要绑定到端口80才能执行域验证,因此您可能需要停止现有的Web服务器。”因此,如果您必须为Web服务器续订证书,则它会在域验证期间停机。 如果你不关心这样的停机时间,请使用独立插件

    但是,有一种解决方案可以帮助您避免停机:

  • 使用参数运行:--standalone--http-01-port 123456-插件的Web服务器将在端口12346而不是80上启动,因此您不需要停止Web服务器

  • 设置并运行一个非常轻量级的中间反向代理,例如:

  • yum-y安装tinyproxy--enablerepo='epel'

    配置它,监听端口12345。其配置可以如下所示:

    User tinyproxy
    Group tinyproxy
    
    Port 12345
    Timeout 6000
    MaxClients 100
    MinSpareServers 5
    MaxSpareServers 20
    StartServers 10
    MaxRequestsPerChild 0
    BindSame yes
    DisableViaHeader Yes
    ConnectPort 80
    ConnectPort 12346
    AddHeader "X-Forwarded-Proto" "http"
    ReversePath "/" "http://127.0.0.1/"
    ReversePath "/.well-known/acme-challenge/" "http://127.0.0.1:12346/.well-known/acme-challenge/"
    ReverseOnly Yes
    ReverseMagic Yes
    
    它应该侦听HTTP通信并在两个Web服务器之间重定向请求。代理过滤流量并将包含“/.well-known/acme challenge/”的Let's Ecnrypt验证请求重定向到插件的Web服务器到端口12346,将常规HTTP请求重定向到您的Web服务器到端口80

  • 使用iptables创建HTTP流量重定向以将代理从端口80反向到端口12345,并接受新端口上的流量:
  • iptables-I输入-p tcp-m tcp--dport12346-j接受 iptables-I输入-p tcp-m tcp--dport 12345-j接受 iptables-t nat-I预路由-p tcp-m tcp-s 127.0.0.1/32--端口80-j重定向--到端口12345

  • 验证完成后立即删除上述防火墙规则并停止代理服务器
  • 这就是您所拥有的所有功能,让我们自动加密证书续订,而不会停机,也不会更改Web服务器内容

    您可以下载实现解决方案的脚本,并根据需要采用它。实际上,这个脚本是名为的自动化包的一部分。该包是一个场景