The below vhost assumes you’re using letsencrypt, just replace domain.fqdn with your hostname and PLEX-IP-HOST with the IP/hostname of your plex server. This is useful for connections that block odd ports like 32400 or only allow HTTP/HTTPS.
<VirtualHost *:80> ServerName plex.domain.fqdn Redirect / https://plex.domain.fqdn/ ErrorLog ${APACHE_LOG_DIR}/plex_error.log CustomLog ${APACHE_LOG_DIR}/plex.log combined <Location /> Order allow,deny Allow from all </Location> </VirtualHost> <VirtualHost *:443> ServerName plex.domain.fqdn ProxyRequests Off ProxyPreserveHost On SSLProxyEngine On SetEnv newrelic_appname "http-plex" php_value newrelic.appname "http-plex" ErrorLog ${APACHE_LOG_DIR}/plex_error.log CustomLog ${APACHE_LOG_DIR}/plex.log combined SSLEngine on SSLCertificateFile /etc/letsencrypt/live/plex.domain.fqdn/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/plex.domain.fqdn/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/plex.domain.fqdn/fullchain.pem <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://PLEX-IP-HOST:32400/ ProxyPassReverse / http://PLEX-IP-HOST:32400/ <Location /> Order allow,deny Allow from all </Location> </VirtualHost>