Today we are going to look at how to set up an SSL certificate for Plex using Nginx Proxy Manager.
This tutorial will be for people who are looking to expose Plex to the outside internet. If you’re interested in setting up an SSL certificate internally, your best bet is to create a self-signed SSL certificate. We will not be going over that in this tutorial.
My preferred approach when exposing services to the internet is to use a reverse proxy. There are various reasons why reverse proxies are great, but the most important one to me is that you can expose multiple services and only open ports 80 and 443 to the internet. I don’t want to get too far off-topic as this is a Plex SSL certificate tutorial, but you can find a simplified explanation of how a reverse proxy works below.
This tutorial will show how you can expose Plex to the internet using Nginx Proxy Manager. There are tons of other proxy managers, but I find Nginx Proxy Manager to be the easiest to use. If you haven’t set up Nginx Proxy Manager, I created a tutorial on how you can set it up on a Raspberry Pi. Please keep in mind that you will need some sort of domain name for this. If you don’t have a purchased domain, something like DuckDNS will work as well.
1. Open Nginx Proxy Manager and Login. Select Proxy Hosts.
2. Select Add Proxy Host.
3. Enter the Domain Name, Forward Hostname/IP, and Forward Port. By default, the forward port will be 32400. Save the record. NOTE: Leave the scheme as http.
4. Plex is now linked to Nginx Proxy Manager.
5. Edit the record.
6. Select SSL, then under SSL Certificate, select Request a new SSL Certificate. Check off Force SSL, HTTP/2 Support, and then add your Email Address and agree to the terms of service. Select Save.
7. When you save the record, Nginx Proxy Manager will automatically fetch the SSL certificate and enable it on your domain. You can then click the domain name and you’ll see that you have an SSL certificate assigned to your domain. NOTE: All traffic will be sent through port 443 by default. If you’re asked to add the port anywhere in your setup, use port 443.
If you go to Plex’s settings and Remote Access, it will appear as if remote access is not configured. This is because we’re using a reverse proxy. You will be able to access your Plex resources using the domain name you configured above, but it will appear (to Plex) like it cannot be accessed outside of your network.
Conclusion - Plex SSL Certificate
If I’m being honest, this is not the traditional way of assigning an SSL certificate to Plex. However, if you’re exposing multiple services to the internet, the benefits of a reverse proxy are immense.
Thank you for reading the tutorial and if you have any questions, please leave them in the comments!