首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理acme-质询Letsencrypt请求

处理acme-质询Letsencrypt请求
EN

Stack Overflow用户
提问于 2017-05-06 11:33:51
回答 1查看 794关注 0票数 2

我有一个NodeJs应用程序,它使用ProxyPass在Apache 后面运行。HTTPS是使用Letsencrypt设置的。

您可能知道,要验证Letsencrypt证书,我们必须处理如下所示的请求,该请求是由Letsencrypt服务器发送的。

http://sub.afakedomain.com/.well-known/acme-challenge/some-random-stringhere

目前,请求的结果是404找不到,因为ProxyPass将请求直接重定向到没有处理此请求的NodeJs应用程序。

  • 一个解决方案是在我的NodeJs应用程序中定义一个处理请求的路由。
  • 另一种解决方案是在Apache中检测请求,而不是将请求路由到NodeJs应用程序,而是直接将请求路由到包含.well-known目录的文件夹。

我想使用-- Apache解决方案,但我无法找到正确的方法。

路径到著名目录

/var/www/html/.well-known/

我的vhost设置

代码语言:javascript
复制
<VirtualHost *:80>
             DocumentRoot /var/www/html/fail
             ServerName sub.afakedomain.com
             RewriteEngine on
             RewriteCond %{SERVER_PORT} !^443$
             RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [L,R]
</VirtualHost>

<VirtualHost *:443>
             ProxyPreserveHost On
             ProxyRequests Off
             ServerName sub.afakedomain.com
             Proxypass / http://localhost:5555/
             ProxyPassReverse / http://localhost:5555/

             SSLEngine On
             SSLCertificateFile /etc/letsencrypt/live/afakedomain.com/cert.pem
             SSLCertificateKeyFile /etc/letsencrypt/live/afakedomain.com/privkey.pem
             SSLCertificateChainFile /etc/letsencrypt/live/afakedomain.com/chain.pem
             SSLCACertificateFile /etc/letsencrypt/live/afakedomain.com/fullchain.pem
             Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>

如果您有一些建议,请放心!谢谢!

EN

回答 1

Stack Overflow用户

发布于 2017-05-08 02:15:44

如果您想从代理中排除.well-known目录,只需添加一个排除。在现有的ProxyPass行之前添加以下内容:

代码语言:javascript
复制
ProxyPass /.well-known/ !

你应该都准备好了。有关更多信息,请参见ProxyPass文档。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43819966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档