Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';t让Cookiecutter Django使用let';s encrypt和Traefik请查看错误_Python_Django_Docker_Traefik_Cookiecutter Django - Fatal编程技术网

Python Can';t让Cookiecutter Django使用let';s encrypt和Traefik请查看错误

Python Can';t让Cookiecutter Django使用let';s encrypt和Traefik请查看错误,python,django,docker,traefik,cookiecutter-django,Python,Django,Docker,Traefik,Cookiecutter Django,我将cookiecutter django部署到digitalocean并将我的域指向它,当我运行服务器时,我得到以下信息: traefik_1 | time="2020-08-10T04:07:32Z" level=error msg="Unable to obtain ACME certificate for domains \"example.com\": unable to generate a certificate for

我将cookiecutter django部署到digitalocean并将我的域指向它,当我运行服务器时,我得到以下信息:

traefik_1       | time="2020-08-10T04:07:32Z" level=error msg="Unable to obtain ACME certificate for domains \"example.com\": unable to generate a certificate for the domains [example.com]: acme: Error -> One or more domains had a problem:\n[example.com] acme: error: 403 :: urn:ietf:params:acme:error:unauthorized :: Invalid response from http://example.com/.well-known/acme-challenge/rLtIcAGYE4rBY3iUjbIm9p5XUqZBosTV_qJp8nPoBxw [2606:2800:220:1:248:1893:25c8:1946]: \"<!doctype html>\\n<html>\\n<head>\\n    <title>Example Domain</title>\\n\\n    <meta charset=\\\"utf-8\\\" />\\n    <meta http-equiv=\\\"Content-type\", url: \n" routerName=flower-secure-router rule="Host(`example.com`)" providerName=letsencrypt.acme
traefik_1       | time="2020-08-10T04:07:33Z" level=error msg="Unable to obtain ACME certificate for domains \"example.com,www.example.com\": unable to generate a certificate for the domains [example.com www.example.com]: acme: Error -> One or more domains had a problem:\n[example.com] acme: error: 403 :: urn:ietf:params:acme:error:unauthorized :: Invalid response from http://example.com/.well-known/acme-challenge/rLtIcAGYE4rBY3iUjbIm9p5XUqZBosTV_qJp8nPoBxw [2606:2800:220:1:248:1893:25c8:1946]: \"<!doctype html>\\n<html>\\n<head>\\n    <title>Example Domain</title>\\n\\n    <meta charset=\\\"utf-8\\\" />\\n    <meta http-equiv=\\\"Content-type\", url: \n[www.example.com] acme: error: 403 :: urn:ietf:params:acme:error:unauthorized :: Invalid response from http://www.example.com/.well-known/acme-challenge/dhSnRKK6iV_EdanHIF2HJ1xoGEf0MaAS-49R7zEmR0U [2606:2800:220:1:248:1893:25c8:1946]: \"<!doctype html>\\n<html>\\n<head>\\n    <title>Example Domain</title>\\n\\n    <meta charset=\\\"utf-8\\\" />\\n    <meta http-equiv=\\\"Content-type\", url: \n" providerName=letsencrypt.acme routerName=web-secure-router rule="Host(`example.com`) || Host(`www.example.com`)"
我想我可以把每个“example.com”都改成我的域名,但我不明白为什么文档中没有提到这个

  level: INFO

entryPoints:
  web:
    # http
    address: ":80"

  web-secure:
    # https
    address: ":443"

  flower:
    address: ":5555"

certificatesResolvers:
  letsencrypt:
    # https://docs.traefik.io/master/https/acme/#lets-encrypt
    acme:
      email: "myemail@email.com"
      storage: /etc/traefik/acme/acme.json
      # https://docs.traefik.io/master/https/acme/#httpchallenge
      httpChallenge:
        entryPoint: web

http:
  routers:
    web-router:
      rule: "Host(`example.com`) || Host(`www.example.com`)"

      entryPoints:
        - web
      middlewares:
        - redirect
        - csrf
      service: django

    web-secure-router:
      rule: "Host(`example.com`) || Host(`www.example.com`)"

      entryPoints:
        - web-secure
      middlewares:
        - csrf
      service: django
      tls:
        # https://docs.traefik.io/master/routing/routers/#certresolver
        certResolver: letsencrypt

    flower-secure-router:
      rule: "Host(`example.com`)"
      entryPoints:
        - flower
      service: flower
      tls:
        # https://docs.traefik.io/master/routing/routers/#certresolver
        certResolver: letsencrypt

  middlewares:
    redirect:
      # https://docs.traefik.io/master/middlewares/redirectscheme/
      redirectScheme:
        scheme: https
        permanent: true
    csrf:
      # https://docs.traefik.io/master/middlewares/headers/#hostsproxyheaders
      # https://docs.djangoproject.com/en/dev/ref/csrf/#ajax
      headers:
        hostsProxyHeaders: ["X-CSRFToken"]

  services:
    django:
      loadBalancer:
        servers:
          - url: http://django:5000

    flower:
      loadBalancer:
        servers:
          - url: http://flower:5555

providers:
  # https://docs.traefik.io/master/providers/file/
  file:
    filename: /etc/traefik/traefik.yml
    watch: true