准备
一个域名
免费的CloudFlare帐户
配置
将域名接入到CF并开启CDN(需要NS接入)
然后开始配置获取服务器的证书
运行命令安装ACME
curl https://get.acme.sh | sh
定义几个变量:
hostname=yourdomain.com
export CF_Key=YOUR CF API KEY
export CF_Email=YOUR CF EMAIL
#hostname--需要颁发证书的域名
#export CF_Key--CF账号的KEY 见下图
#export CF_Email--CF账号的邮箱


获取CFKEY: https://dash.cloudflare.com/profile
一旦定义了这些变量,就可以获取证书并将它们安装到nginx目录中。如果您已正确定义变量,则可以复制并粘贴这些命令,如上所述:
mkdir -p /etc/nginx/ssl/${hostname}
/root/.acme.sh/acme.sh --issue --dns dns_cf -d ${hostname}
/root/.acme.sh/acme.sh --install-cert -d ${hostname} --key-file /etc/nginx/ssl/${hostname}/key.pem --fullchain-file /etc/nginx/ssl/${hostname}/fullchain.pem --ca-file /etc/nginx/ssl/${hostname}/chain.pem --reloadcmd "service nginx force-reload"
下载配置nginx
cd /etc/nginx/sites-enabled
wget -O plex.conf https://raw.githubusercontent.com/toomuchio/plex-nginx-reverseproxy/master/nginx.conf
修改下载的Nginx配置文件
vim plex.conf
找到 server_name 并用自己要绑定的域名替换 plex.EXAMPLE.COM
然后找到:
ssl_certificate
ssl_certificate_key
ssl_trusted_certificate
ssl_dhparam
在此处替换为申请的letsencrypt证书:
ssl_certificate /etc/nginx/ssl/{YOUR HOSTNAME}/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/{YOUR HOSTNAME}/key.pem;
ssl_trusted_certificate /etc/nginx/ssl/{YOUR HOSTNAME}/chain.pem;
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
编辑好后保存退出,测试nginx的配置是否正确
nginx -t
如果一切顺利,重新加载服务器配置
systemctl reload nginx
现在Plex应该可以通过https://yourdomain.com访问
Plex设置
更改Plex服务器设置
确保“显示高级设置”已启用。在“网络”选项卡下,添加自定义访问URL:
http://yourdomain.com:80,https://yourdomain.com:443
在“远程访问”下,禁用远程访问
更新防火墙以防止端口32400的外部ping
iptables -A INPUT -p tcp -s localhost --dport 32400 -j ACCEPT
iptables -A INPUT -p tcp --dport 32400 -j DROP
第一条规则确保localhost仍然能够与Plex通信,但第二个规则阻止所有其他访问。
一劳永逸使其重启后也生效
apt install iptables-persistent
在安装过程中选择“Yes”以保存当前的iptables
测试并享受!