问题来源:
-
测试环境访问方式由http变更为https,变更后使用FastDFS上传的文件无法预览;
-
FastDFS文件访问方式为http,FastDFS是使用docker安装,访问方式为http,导致上传的文件无法加载预览;
-
由于docker所在的宿主机上安装有nginx,因此配置宿主机nginx直接读取FastDFS存储的文件。
nginx.conf启用ssl,并新增配置
server {
listen 443 ssl;
# 域名
server_name fastdfs.xxxx.com;
# ssl 文件所在的位置
ssl_certificate /opt/SSL/xxxx.com.pem;
ssl_certificate_key /opt/SSL/xxxx.com.key;
# 匹配 /group1/ 路径:FastDFS只配置了一个group,所有文件访问都会包含路径group1
location /group1/ {
# FastDFS存储文件挂载的位置
root /opt/fdfs/storage/data;
# 使用正则表达式 ~ /group1/M00/(\w\w)/(\w\w)/(.+) 来匹配文件路径
# M00 是 FastDFS 存储路径的一部分,需要包含在正则表达式中
# (\w\w) 匹配两个字母的文件夹名称:一共有两个
# (.+) 匹配文件名
location ~ /group1/M00/(\w\w)/(\w\w)/(.+) {
# 将匹配到的路径映射到 /var/fdfs/storage/data/$1/$2/$3,其中 $1、$2、$3 分别对应正则表达式中的三个捕获组
alias /opt/fdfs/storage/data/$1/$2/$3;
}
}
}
nginx重新加载配置文件
nginx -t
nginx -s reload