I’ve been running PlexConnect for a while and just fine but I wanted to move it behind Nginx but no matter what settings I change I continue to run into “iMovie Theater is unavailable. Try again later.” I thought it may of been related to the certficates but this wasn’t the case.
I can change PlexConnect webserver ports from 8090/8091 to 80 and 443 stopping nginx and its back working. Though for some reason I just cannot figure out why it isn’t working with Nginx proxy_pass…
I don’t have any sort of errors in the nginx logs so I can’t figure it out. I’ve swapped many of the settings around playing with it but still unsuccessful. PlexConnect log is showing an intercept request but nothing after. 
My PlexConnect settings…
[PlexConnect]
enable_plexgdm = False
ip_pms = 127.0.0.1
port_pms = 32400
enable_dnsserver = True
port_dnsserver = 53
ip_dnsmaster = 10.0.1.1
prevent_atv_update = True
enable_plexconnect_autodetect = True
ip_plexconnect = 0.0.0.0
hosttointercept = www.icloud.com
port_webserver = 8090
enable_webserver_ssl = True
port_ssl = 8091
certfile = ./assets/certificates/icloud.pem
allow_gzip_atv = True
allow_gzip_pmslocal = False
allow_gzip_pmsremote = True
loglevel = Normal
logpath = .
PlexConnect log…
root@Shuttle:/opt/PlexConnect# python /opt/PlexConnect/PlexConnect.py
18:06:31 PlexConnect: ***
18:06:31 PlexConnect: PlexConnect
18:06:31 PlexConnect: Press CTRL-C to shut down.
18:06:31 PlexConnect: ***
18:06:31 PlexConnect: started: 18:06:31
18:06:31 PlexConnect: Version: 0.5-dev-101215
18:06:31 PlexConnect: Python: 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2]
18:06:31 PlexConnect: Host OS: linux2
18:06:31 PlexConnect: PILBackgrounds: Is PIL installed? True
18:06:31 PlexConnect: IP_self: 10.0.1.3
18:06:31 DNSServer: started: 18:06:31
18:06:31 DNSServer: ***
18:06:31 DNSServer: DNSServer: Serving DNS on 10.0.1.3 port 53.
18:06:31 DNSServer: intercept: ['www.icloud.com'] => 10.0.1.3
18:06:31 DNSServer: restrain: ['mesu.apple.com', 'appldnld.apple.com', 'appldnld.apple.com.edgesuite.net'] => 127.0.0.1
18:06:31 DNSServer: forward other to higher level DNS: 10.0.1.1
18:06:31 DNSServer: ***
18:06:32 WebServer: started: 18:06:32
18:06:32 WebServer: ***
18:06:32 WebServer: WebServer: Serving HTTP on 10.0.1.3 port 8090.
18:06:32 WebServer: ***
18:06:32 WebServer: started: 18:06:32
18:06:32 WebServer: ***
18:06:32 WebServer: WebServer: Serving HTTPS on 10.0.1.3 port 8091.
18:06:32 WebServer: ***
18:06:38 DNSServer: DNS request received!
18:06:38 DNSServer: Source: ('10.0.1.5', 50461)
18:06:38 DNSServer: Domain: p8-buy.itunes-apple.com.akadns.net
18:06:38 DNSServer: ***forward request
18:06:38 DNSServer: -> DNS response from higher level
18:06:57 DNSServer: DNS request received!
18:06:57 DNSServer: Source: ('10.0.1.5', 59279)
18:06:57 DNSServer: Domain: itunes.apple.com
18:06:57 DNSServer: ***forward request
18:06:57 DNSServer: -> DNS response from higher level
18:06:58 DNSServer: DNS request received!
18:06:58 DNSServer: Source: ('10.0.1.5', 54121)
18:06:58 DNSServer: Domain: pd-st.itunes.apple.com
18:06:58 DNSServer: ***forward request
18:06:58 DNSServer: -> DNS response from higher level
18:06:59 DNSServer: DNS request received!
18:06:59 DNSServer: Source: ('10.0.1.5', 64797)
18:06:59 DNSServer: Domain: se.itunes.apple.com
18:06:59 DNSServer: ***forward request
18:06:59 DNSServer: -> DNS response from higher level
18:06:59 DNSServer: DNS request received!
18:06:59 DNSServer: Source: ('10.0.1.5', 53296)
18:06:59 DNSServer: Domain: a1.mzstatic.itunes-apple.com.akadns.net
18:06:59 DNSServer: ***forward request
18:06:59 DNSServer: -> DNS response from higher level
18:06:59 DNSServer: DNS request received!
18:06:59 DNSServer: Source: ('10.0.1.5', 56395)
18:06:59 DNSServer: Domain: a5.mzstatic.com
18:06:59 DNSServer: ***forward request
18:07:00 DNSServer: -> DNS response from higher level
18:07:00 DNSServer: DNS request received!
18:07:00 DNSServer: Source: ('10.0.1.5', 65227)
18:07:00 DNSServer: Domain: a2.mzstatic.itunes-apple.com.akadns.net
18:07:00 DNSServer: ***forward request
18:07:00 DNSServer: -> DNS response from higher level
18:07:04 DNSServer: DNS request received!
18:07:04 DNSServer: Source: ('10.0.1.5', 55979)
18:07:04 DNSServer: Domain: www.icloud.com
18:07:04 DNSServer: ***intercept request
18:07:04 DNSServer: -> DNS response: 10.0.1.3
^C18:07:13 PlexConnect: Shutting down.
18:07:14 WebServer: Shutting down (HTTP).
18:07:14 WebServer: Shutting down (HTTPS).
18:07:14 DNSServer: Shutting down.
18:07:14 PlexConnect: shutdown
Nginx settings…
server {
listen [::]:80;
server_name www.icloud.com;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8090;
}
}
server {
listen [::]:443;
server_name www.icloud.com;
ssl_certificate /opt/PlexConnect/assets/certificates/icloud.pem;
ssl_certificate_key /opt/PlexConnect/assets/certificates/icloud.key;
ssl on;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://127.0.0.1:8091;
}
}