Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: "Walter H." Newsgroups: de.comp.lang.python Subject: =?ISO-8859-1?Q?seltsames_Verhalten_mit_acme=5Ftiny=2Epy=2C?= =?ISO-8859-1?Q?_wie_l=F6se_ich_es=3F?= Date: Wed, 31 Jan 2018 18:33:56 +0100 Organization: Waldi's NNTP Home Lines: 69 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Trace: individual.net bpRCjDYZ35SVy8tptwQMGw8OiWNO25gp/Ou3VHKcKR6MzGxP+B Cancel-Lock: sha1:ayqJWkKTFMQguLWFK6weyrhbY6Q= User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; de-DE; rv:12.71) Gecko/20111031 Thunderbird/17.21 X-No-Archive: yes Xref: csiph.com de.comp.lang.python:5111 Hallo, ich verwende f. Let's Encrypt dieses https://github.com/diafygi/acme-tiny Script ... mein Router hat - klarerweise - mehrere NICs, und er ist vollständig DualStack; WANseitig ist es nun so, daß zwar sowohl der Zugriff über IPv4 und IPv6 möglich ist, aber jeweils unter einem anderen DNS-Namen, host.example.com f. IPv6 hostv4.example.com f. IPv4 dies deswegen, weil IPv6 ist fix und IPv4 ist dynamisch; soweit so gut; und es sind 2 getrennte NameVirtual Hosts; wenn ich nun mit diesem Skript das Zertifikat f. IPv6 erneuern will kommt das ... Parsing account key... Parsing CSR... Registering account... Already registered. Verifying host.ipv6home.eu... Traceback (most recent call last): File "./acmetiny.py", line 198, in main(sys.argv[1:]) File "./acmetiny.py", line 194, in main signed_crt = get_crt(args.account_key, args.csr, args.acme_dir, log=LOGGER, CA=args.ca) File "./acmetiny.py", line 123, in get_crt wellknown_path, wellknown_url)) ValueError: Wrote file to /var/www/inet/.well-known/acme-challenge/gkh9nE7F__wOulP6YOw8E0OS0qh-EJmUOpVLGcz22KY, but couldn't download http://host.example.com/.well-known/acme-challenge/gkh9nE7F__wOulP6YOw8E0OS0qh-EJmUOpVLGcz22KY im Skript selbst habe ich folgendes gefunden, wenn ich diesen Teil hier # check that the file is in place wellknown_url = "http://{0}/.well-known/acme-challenge/{1}".format(domain, token) try: resp = urlopen(wellknown_url) resp_data = resp.read().decode('utf8').strip() assert resp_data == keyauthorization except (IOError, AssertionError): os.remove(wellknown_path) raise ValueError("Wrote file to {0}, but couldn't download {1}".format(wellknown_path, wellknown_url)) auskommentiere, dann klappt das; hingegen mit habe ich dieses Problem nicht; daher die Frage: woher kommt dieses Verhalten mit IPv6? da es auch mit deaktivierter Firewall ist, wird es auch nicht durch irgendeine Regel verursacht ... (im Log des Apache sehe ich keine Zugriffe derart, sprich es wird vorher bereits blockiert) ich habe kaum bis gar keine Pyrhon-Kenntnisse, aber ich nehme an, daß dies mit dem urlopen im Zusammenhang steht; ich hoffe es bringt jemand Licht ins Dunkel Danke, Walter H.