HTTPS-Feed in iTunes-Directory eintragen (Zertifikatsproblem)

Das heißt auf jeden Fall müssen die Feed-URLs über http ohne ssl abrufbar sein. Weiß jemand, was passiert, wenn bei allem außer den Feeds ssl erzwinge?

Solange der iTunes-Client TLS kann (also über TLS die Audio-Dateien abrufen kann), dürfte das kein Problem sein. Der Server parst ja AFAIK wirklich nur den Feed (und holt sich das Cover-Bild).

An das Coverbild habe ich auch schon gedacht.

Ich könnte mir also eine Regex basteln, für die ich kein ssl erzwinge.

Mal schauen.

Danke

Moin, ich will mich mal in die Debatte einklinken und kurz von meiner Erfahrung berichten. In der Podlove Community konnte leider keiner etwas dazu sagen, als ich danach fragte wie es mit der HTTPS Unterstützung bei den Clients aussieht.

Ich habe nun folgendes Konstrukt:
Die WordPress Seite wird mit HTTP ausgeliefert. Mein Feed auch (noch). Die Audiofiles jedoch werden über HTTPS ausgeliefert. Das liegt daran, dass ich, aus Kostengründen, nur ein TLS Zertifikat beim Hoster gekauft habe, das an eine Domain gebunden ist.

Ich habe nun mal mit einigen Clients rumprobiert ob die Dateien geladen werden können. Meiner Erfahrung nach klappt alles einwandfrei. Als Tedtballon habe ich einen Feed mal auf die HTTPS Domain umgeleitet.
Auch das geht einwandfrei. AUCH BEI iTUNES! Ich habe einfach mal ein bisschen gewartet, bis iTunes den Feed erneut abruft. (iTunes ruft nur alle paar Stunden die Feeds ab. Aktualisierungen sind damit sehr Zeitverzögert im Verzeichnis, tut den Feeds aber keinen Abbruch, da die vom Client direkt abgerufen werden.)
Ich hatte damit keine Probleme. Alles lief zuverlässig, alle Clients haben in meinem Test (nur iOS) zuverlässig die Feeds eingelesen und konnten die Dateien laden.

Lediglich mit Atom Feeds haben einige Clients (Ich bin nicht mehr ganz sicher, aber ich glaube Overcast war dabei!) Probleme, weshalb ich leider wieder auf RSS umgestellt habe. iTunes hat kein Problem mit Atom und HTTPS.

Ich hoffe, dass dieser konkrete Testbericht dem einen oder anderen hilft und sich ermutigt fühlt HTTPS an zu knipsen.

Jetzt wo ja auch Let’s Encrypt in der Public Beta ist, gibt es (bis auf Support durch einige Shared Hosting-Anbieter) immer weniger Ausreden, kein TLS zu unterstützen.

Apple hat iTunes Podcast Connect an den Start gebracht. Und in den FAQs findet sich folgender Hinweis:

Do I need to use HTTPS on my hosting server?
iTunes supports and will eventually require HTTPS protocol for servers hosting your content and metadata.

(Auch bei den Partner-Listings wird auf HTTPS wert gelegt.)

Das ist doch mal interessant. Direkt mal einen LetsEncrypt-Feed (SNI, nur moderne Cypher) einreichen wollen und das Ergebnis:

Möööp. Ich habe mal direkt dem Support („AppleCare for podcast providers“) geschrieben. Die Case-Nummer lautet 1048327389.

2 „Gefällt mir“

Mann kann nicht einfach so alte Cipher unterstützen, wenn man HTTP2 anbieten möchte.
Siehe RFC7540 9.2.2. TLS 1.2 Cipher Suites.

1 „Gefällt mir“

Ich habe hier mal eine gekürzte Fassung meiner nginx Config für meine Podcast-Webseiten eingefügt.

Mit diese Config habe ich zwangsweise immer https. Eine Ausnahme stellt alles da, was mit /feed anfängt. Man kann die /feed-Seiten zwar auch mit http abrufen, aber muss dies nicht zwangsweise machen. Ich erachte dies als eine temporäre Notlösung für iTunes.

Der erste Block macht https.
Der zweite Block macht http und leitet alles außer was mit /feed anfängt zu https weiter.
Der dritte Block reweited Aliases auf die eigentliche Domain um.

Ich hoffe euch hilft dieser Beitrag.

server {
	listen		443 ssl http2;
	listen		[::]:443 ssl http2;
	server_name	meine-podcast-domain.de;

	access_log	/var/log/nginx/podcast-$host-access.log;
	error_log	/var/log/nginx/podcast-error.log;

	root		/var/www/podcast;
	index		index.php index.html;

	include		common/wpfc-hhvm.conf; // macht PHP mit HHVM
	include		common/wpcommon.conf; // macht Wordpress Zeugs
	include		common/letsencrypt-san.conf; // Macht SSL
}

server {
	listen		80;
	listen		[::]:80;
	server_name	meine-podcast-domain.de;

	access_log	/var/log/nginx/podcast-$host-access.log;
	error_log	/var/log/nginx/podcast-error.log;

	root		/var/www/podcast;
	index		index.php index.html;

	include		common/wpfc-hhvm_.conf;
	include		common/wpcommon.conf;
	include		common/letsencrypt-san.conf;

	location ~ /feed/ {
		try_files	$uri $uri/ /index.php?$args;
	}

	location / {
		try_files	$uri $uri/ /index.php?$args;
		return 301	https://$host$request_uri;
	}
}

server {
	listen		80;
	listen		[::]:80;
	listen		443 ssl http2;
	listen		[::]:443 ssl http2;
	server_name	www.meine-podcast-domain.de;

	include		common/letsencrypt-san.conf;

	return 301	$scheme://meine-podcast-domain.de$request_uri;
}
2 „Gefällt mir“

Bitte gib Bescheid, wenn sich was tut :grinning:

Bobbi von „Apple, Inc.“ hat sich gemeldet:

We are currently reviewing your request and will get back to you as soon as we can.

Dann warten wir mal weiter.

Und jetzt hat sich Charles von Apple gemeldet:

Dennis,

It seems you are using a certificate from the LetsEncrypt beta project. These certificates are not yet supported in iTunes. I do not have additional details regarding future support.

Consider an SSL certificate from any of these companies, or submit your podcast without SSL.
https://www.godaddy.com/ssl/ssl-certificates.aspx
http://www.symantec.com/ssl-certificates
https://www.thawte.com/ssl/
https://www.globalsign.com/en/ssl/
http://www.entrust.net
https://www.geotrust.com/ssl/
http://www.affirmtrust.com
https://www.comodo.com/

Thank you,
Charles

Damit hat sich nichts geändert. Apple nutzt da immer noch ein Java 6.

2 „Gefällt mir“

Na großartig, was auch sonst. m(

Die haben also nur ein neues UI draufgebaut. Mehr nicht.

1 „Gefällt mir“

Seltsame Mail von Apple gestern Abend. Ist das nur die verspätete Mitteilung des oben Besprochenen? Oder haben Sie nun doch an der Java 6-Zertifikat-Problematik was verbessert?

Nur fürs Archiv: Lets Encrypt Diskussion zum Thema iTunes Directory: https://community.letsencrypt.org/t/itunes-rejecting-le-certs/11486

Der Trick von jkellererwsu scheint zumindest halbwegs zu funktionieren:

  1. Einen Ordner anlegen (in meinem Fall z.B: noSslFeed)

  2. index.php erstellen und den code von jkellererwsu einfügen (und die URL des feeds an den eigenen webspace anpassen)

    <?php $content = file_get_contents('https://www.learnjazzstandards.com/feed/podcast/'); $content = new SimpleXMLElement($content); Header('Content-type: text/xml'); print($content->asXML()); ?>
  3. Sub-Domain (ohne HTTPS) erstellen, die auf den erstellten „noSslFeed“-Ordner zeigt

Der Code kopiert im Grunde den SSL-Feed und stellt ihn ohne SSL zur Verfügung. Bei iTunes kann ich nun meine URL angeben. Wichtig: Mit HTTP://

**http://**feed.gamedevpodcast.de/

Damit hat man schonmal den Feed ohne SSL.

iTunes wird nun aber meckern, dass die Assets via SSL ausgeliefert werden. Ich habe dazu eine neue Sub-Domain angelegt (media.gamedevpodlove.de) die ohne SSL funktioniert und diese URL dann in den Podlove-Optionen eingetragen (als Media-Ordner).

ACHTUNG: Podlove-Analytics unbedingt ausschalten! (wenn analytics aktiviert ist, werden die URLs auf die assets (mp3, mp4, …) im Feed auf https umgestellt - selbst wenn ihr eine subdomain nutzt, die ohne ssl läuft.

Einziges übriges Problem: Das Cover-Bild wird via Podlove nur via HTTPS ausgeliefert bzw. scheint es von Wordpress ge-cached zu werden und statt:

http://media.gamedevpodcast.de/logo_2800.png

kommt diese URL raus:

<itunes:image href="https://gamedevpodcast.de/wp-content/cache/podlove/ea/5cfbe32845550169506dc9aa92c22b/game-dev-podcast_original.png"/>

Lösung:

Dem Ordner

/wp-content/cache/podlove/ea/5cfbe32845550169506dc9aa92c22b

jegliche Schreib/Lese-Rechte entziehen. Vorsicht: Nicht einfach dem ganzen Podlove-Ordner die Rechte entziehen, denn dann wird z.B. auch nicht mehr das Podcast-Logo im Web-Player dargestellt.

p.s. Mittlerweile habe ich Analytics übrigens wieder aktiviert und es gibt keine Probleme. Ich nehme an, dass wenn iTunes den Feed ein mal akzeptiert hat, kann macht es keine Probleme die MP3/MP4s via HTTPS auszuliefern. :slight_smile:

3 „Gefällt mir“

Für alle, die über diesen Post stolpern:

4 „Gefällt mir“

it’s about time :slight_smile: juhu!

1 „Gefällt mir“

iTunes akzeptiert jetzt ganz offiziell Let’s Encrypt Zertifikate: https://itunespartner.apple.com/en/podcasts/faq :grinning:

1 „Gefällt mir“