我正在运行Django网站并使用let加密我的SSL。框架的配置使得我无法访问:http://url.com/.xxxx
我可以免费访问的是: http://url.com/static/.xxxx
我的/ static / URL可以接受并托管任何随机文件,以便加密需求。有没有办法让certbot支持/ static /而不是只使用/为URL?
由于
我发现一个可以接受的工作对我来说是可以接受的。进一步挖掘,我发现/.well-known/始终是SSL检查的基本目录。这意味着我们可以添加一个静态目录,它可以很好地与certbot一起使用。在这里,首先将其添加到您的apache配置中:
Alias /.well-known/ /var/www/XXXXX/website/static/.well-known/
<Directory /var/www/XXXXX/website/static/.well-known/>
Require all granted
</Directory>
然后将其添加到settings.py文件中:
STATIC_ENCRYPT_URL = '/.well-known/'
STATIC_ENCRYPT_ROOT = '/var/www/XXXXX/website/static/'
将此添加到您的urls.py:
urlpatterns = [
...
] + static(settings.STATIC_ENCRYPT_URL, document_root=settings.STATIC_ENCRYPT_ROOT)
重置您的网络服务器。现在你有一个特殊的url /.well-known/,它将托管任何文件certbot所需的文件。
我还是比这更好的答案。
答案 0 :(得分:4)
如果其他用户像谷歌那样来这种方式,这就是我改善这种情况的方法:
我在运行ACME
应用程序时为Let's Encrypt创建Django
挑战时,我对我的选项不满意。 So, I rolled my own solution and created a Django app!基本上,您可以将ACME
个问题作为另一个对象进行管理,应用程序将生成正确的终点网址。