Python Django-通过URL从根文件夹返回文件

Python Django-通过URL从根文件夹返回文件,python,django,ssl,url,ssl-certificate,Python,Django,Ssl,Url,Ssl Certificate,我在网上购买了SSL证书,现在正在验证我的主机。其工作原理是: 它给了我一个文件 我必须通过主机上的特定URL访问该文件 如果文件的内容匹配,则会对其进行验证 现在我在第二步 我正在尝试从URL返回一个文件(静态),这是Comodo验证我的服务器所要求的。所以基本上,我认为如果我访问这个链接: http://your(sub)domain/.well-known/pki-validation/<filename.txt> http://your(子)域/.知名度/pki验证/ 指

我在网上购买了SSL证书,现在正在验证我的主机。其工作原理是:

  • 它给了我一个文件
  • 我必须通过主机上的特定URL访问该文件
  • 如果文件的内容匹配,则会对其进行验证
  • 现在我在第二步

    我正在尝试从URL返回一个文件(静态),这是Comodo验证我的服务器所要求的。所以基本上,我认为如果我访问这个链接:

    http://your(sub)domain/.well-known/pki-validation/<filename.txt>
    
    http://your(子)域/.知名度/pki验证/
    
    指南如下:

    你们能帮我怎么用这个URL返回一个文件吗?谢谢

  • 在Django应用程序中,将文件放入静态文件夹
    yourapp/static/.well-known/pki-validation/

  • 别名
    /static/.well-known/
    到应用程序vhost中的
    /.well-known/

    <VirtualHost *:80>
    
    DocumentRoot /var/www/yourapp
    Alias /media/ /var/www/yourapp/media/
    Alias /static/ /var/www/yourapp/static/
    Alias /static/.well-known/ /var/www/yourapp/.well-known/
    
    </VirtualHost>
    
    
    DocumentRoot/var/www/yourapp
    别名/media//var/www/yourapp/media/
    别名/static//var/www/yourapp/static/
    别名/static/.well-known//var/www/yourapp/.well-known/
    

  • Django不需要验证域控制,您最好使用CNAME记录验证您的域。
    如何使用django和nginx启用ssl验证的指南如下:

    感谢您的帮助。事实上,我发现这是非常直截了当的

    我只是在我的
    url.py中放置了一个路径,如下所示:

    urlpatterns = [
          path('.well-known/pki-validation/xxxyyyzzz.txt', read_file),
                ]
    
    然后,我的
    read_file
    函数只需返回文件

    def read_file(request):
        f = open('.well-known/pki-validation/xxxyyyzzz.txt', 'r')
        file_content = f.read()
        f.close()
        return HttpResponse(file_content, content_type="text/plain")
    

    下面是我在不需要修改Django url.py的情况下完成的工作:

  • 放置在/var/www//static/.well-known/pki-validation/
  • 别名为/.well-known to/var/www//static/.well-known
  • 以下是Apache config VirtualHost条目的相关部分的外观:

    <VirtualHost *:80>
        
        # ...
    
        DocumentRoot /var/www/<your_django_site>
        Alias /static /var/www/<your_django_site/static
        # This is the only line I needed to add to my existing Apache config to do HTTP SSL validation.
        # This will make it so that http://<your_domain>/.well-known/pki-validation/<filename.txt> 
        # will point to where you stored that text file and can be validated.
        Alias /.well-known /var/www/<your_django_site/static/.well-known
    
        # ...
    
    </VirtualHost>
    
    
    # ...
    DocumentRoot/var/www/
    
    Alias/static/var/www/您只需验证该文件一次,因此将该文件放入根静态目录中,并在settings.py中更改
    static\u URL='。著名的/pki验证/'
    。我只需要做这些吗?谢谢!如何执行第二步?如何在我的应用程序vhost中使用别名?
    alias/static/.well-known//var/www/yourapp/.well-known/
    很抱歉,我仍然无法理解。app vhost在哪里,具体是什么?Django application vhost==app vhost。尝试了所有其他方法,但都无效。结果就是这样,它工作正常,完成了任务。我甚至不需要打开任何东西,只是在
    文件内容中返回了激活码