Freddie Poser's Blog

Apple, podcasts and letsencrypt

Recently a friend wanted me to setup a simple podcast on iTunes for him. When he asked me I though “How hard can this be?”. After all, it is just an RSS feed. I looked up a sample, wrote the basic outline and validated it on http://castfeedvalidator.com/. The document looked something like this:

<?xml version="1.0" encoding="UTF-8" ?>
<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
<channel>
    <title>Name</title>
    <description>Why apple podcasts are terrible, awful, no good very bad things.</description>

    <link>https://foo.com/feed</link>
    <ttl>1</ttl>

    <atom:link href="https://foo.com/" rel="self" type="application/rss+xml" />

    <itunes:author>Friend</itunes:author>
    <copyright>© 2016 Friend Inc.</copyright>

    <language>en-us</language>
    <itunes:category text="Education"/>
    <itunes:explicit>No</itunes:explicit>
    <itunes:image href="http://foo.com/img.png"/>

</channel>
</rss>

This passed every validator so I put it into itunes’ own validator and I get the almost totally unhelpful error Can’t read your feed. Nothing more. Nothing to tell me if it was a 504, 404, parsing error, nothing. I spent ages mucking about with the file location, file name, little tweaks to the document. I was getting very frustrated at this point so I gave it a “Hail-Mary” google and went digging. It turns out that on about page 3 of a tangentally related google search someone mentions that Java doesn’t support lets encrypt ssl certs.

My whole site forces SSL using these amazing things, so I was loathe to remove it on this subdomain, but I had to give it a go. So I disabled force ssl on static.vogonjeltz.com and thank god it works.

My message to apple: Think about your users. Give us real error messages so things like this take 2 mins not 2 hours.

Freddie Poser