如何配置 apache 2.2 以允许 acme-challenge 并将所有其他流量传递到 AJP/tomcat

如何配置 apache 2.2 以允许 acme-challenge 并将所有其他流量传递到 AJP/tomcat

目标:配置服务器通过 acme-protocol 执行自动 SLL 证书续订(使用 dehydratedhttps://github.com/lukas2511/dehydrated)使用 apache 2.2 / tomcat

为 virt eth0(绑定到唯一 IP)实现自动证书更新的功能

需要能够允许http://example.com/.well-known/acme-challenge/执行域名挑战,同时将其他所有操作转交给 AJP/Tomcat

iptables

在搜索中查看了以下资源 - 似乎多个代理密码可能是可行的方法,但我不确定。

使用多个 ProxyPass 配置 Apache https://stackoverflow.com/questions/45914235/configure-apache-with-multiple-proxypass

这个问题似乎与我正在做的事情类似,但没有引起关注。

如何配置 Apache 2.2 将除根域之外的所有子域转发到 Tomcat https://stackoverflow.com/questions/25081145/how-to-configure-apache-2-2-to-forward-all-subdomains-to-tomcat-except-the-root

=========================

现有的 apache2 配置


    服务器名称 myserver.example.com/
    RedirectMatch ^/$ /应用程序
    
        #ProxyRequests 关闭
        #ProxyPreserveHost 开启
        ProxyPass ajp://127.0.0.1:8009 keepalive=On
        ProxyPassReverse http://Application/example.com/
            #ProxyPassReverse / ajp://localhost:8009/
    
    错误日志 /var/log/apache2/Application-error.log
    CustomLog /var/log/apache2/Application-access.log 合并


=========================

我认为一个好的配置应该是这样的(不确定与 proxypass 实际使用的值)


    服务器名称 myserver.example.com/
    RedirectMatch ^/$ /应用程序
    
            代理通行证
        反向代理密码
            代理通行证
        ProxyPassReverse http://Application/example.com/
            #ProxyPassReverse / ajp://localhost:8009/
    
    错误日志 /var/log/apache2/openkm-error.log
    CustomLog /var/log/apache2/openkm-access.log 合并


=========================

答案1

你可以添加这样的一行

ProxyPass /.well-known/acme-challenge !
ProxyPass / ajp://127.0.0.1:8009 keepalive=On

这将阻止 acme-challenge 请求传递给 Tomcat。

当然,您需要正确配置 DocumentRoot 以指向包含您的 acme 挑战的任何文件夹。

相关内容