3.8 KiB
没有IPv4公网,Plex 设置 IPv6访问
准备条件
- domain name 你需要有域名一枚
- 公网IPv6地址 IPv6 address
- 证书获取工具 推荐使用 acme.sh
主机环境 Host is PVE
安装 acme.sh Install acme.sh
-
命令
curl https://get.acme.sh | sh -s email=my@example.com -
添加 acme.sh 启动环境,安装 acme.sh 到 home 目录下
~/.acme.sh/ -
并创建 一个 shell 的 alias, 例如 .bashrc,方便你的使用:
alias acme.sh=~/.acme.sh/acme.sh -
启用环境
source .bashrc
生成证书
-
手动 dns 方式
这种方式的好处是, 你不需要任何服务器, 不需要任何公网 ip, 只需要 dns 的解析记录即可 完成验证. 坏处是,如果不同时配置 Automatic DNS API,使用这种方式 acme.sh 将无法 自动更新证书,每次都需要手动再次重新解析验证域名所有权。acme.sh --issue --dns -d mydomain.com \ --yes-I-know-dns-manual-mode-enough-go-ahead-please然后, acme.sh 会生成相应的解析记录显示出来, 你只需要在你的域名管理面板中添加这条 txt 记录即可.
等待解析完成之后, 重新生成证书:
acme.sh --renew -d mydomain.com \ --yes-I-know-dns-manual-mode-enough-go-ahead-please注意第二次这里用的是 --renew
dns 方式的真正强大之处在于可以使用域名解析商提供的 api 自动添加 txt 记录完成验证.
-
api 认证方式
acme.sh 目前支持 cloudflare, dnspod, cloudxns, godaddy 以及 ovh 等数十种解析商的自动集成.
以 dnspod 为例, 由于我用的 dnspod 的域名服务。 你需要先登录到 dnspod 账号, 生成你的 api id 和 api key, 都是免费的. 然后:
export DP_Id="1234" export DP_Key="sADDsdasdgdsf" acme.sh --issue --dns dns_dp -d aa.com -d www.aa.com证书就会自动生成了. 这里给出的 api id 和 api key 会被自动记录下来, 将来你在使用 dnspod api 的时候, 就不需要再次指定了. 直接生成就好了:
acme.sh --issue -d mydomain2.com --dns dns_dp -
copy/安装 证书
注意, 默认生成的证书都放在安装目录下:
~/.acme.sh/, 请不要直接使用此目录下的文件, 例如: 不要直接让 nginx/apache 的配置文件使用这下面的文件. 这里面的文件都是内部使用, 而且目录结构可能会变化.正确的使用方法是使用
--install-cert命令,并指定目标位置, 然后证书文件会被copy到相应的位置, 例如:Apache example:
acme.sh --install-cert -d example.com \ --cert-file /path/to/certfile/in/apache/cert.pem \ --key-file /path/to/keyfile/in/apache/key.pem \ --fullchain-file /path/to/fullchain/certfile/apache/fullchain.pem \ --reloadcmd "service apache2 force-reload"
Plex 证书准备
-
自定义域支持 PKCS #12 文件路径,其中包含启用 TLS 的证书和私钥。
由于 Plex 需要 PKCS#12 证书,我们需要把通过 acme.sh 获取的证书转换一下。
openssl pkcs12 -export -out yourdomain.pfx -inkey yourdomain.key -in fullchain.cer
说明:
openssl pkcs12 --export --out 我们需要的证书 --inkey 刚获取的证书密钥 --in fullchain.cer (这个不用 变,用 acme.sh 获取的证书)
-
Plex 相关设置
进入设置 —— 网络 ——
-
启动支持 IPv6 的服务器选中☑️ check in
-
自定义证书位置
- 这里填写上面一步转换获取的 pkcs#12 的证书保存位置 /your/dir/yourdomain.pfx
-
自定义证书加密密钥
- 这里填写 acme.sh 的证书私钥 /your/domain/key
-
自定义证书域
- 你的域名 yourdomain.com
-
自定义服务器访问 URL
-