开启Https访问
开启https
通过https协议访问服务器,可以加密传输的信息,以免数据被第三方获取。
您可以采用以下2种方法来开启https:
- 通过Nginx反向代理
- 添加SSL证书并配置环境变量
通过Nginx反向代理
您可以直接安装Nginx来配置反向代理,也可以安装Nginx Proxy Manager
或者nginxWebUI
这类带ui配置界面的工具;
推荐使用Nginx Proxy Manager
、nginxWebUI
,它们集成了图形化配置、SSL证书申请、自动续签等功能;
添加SSL证书并配置环境变量
- 在容器内的
/config/
目录下新建ssl文件夹; - 到腾讯云、阿里云或者其他云服务商申请SSL证书;
- 等待SSL证书审核通过,然后下载 Nginx格式的证书;
- 将SSL证书放到
/config/ssl/
目录中; - 将证书的名称改为 域名.crt、域名.key,比如 xxx.com.crt、xxx.com.key;如果没有.crt文件,请将 .pem文件重命名为 xxx.com.crt
- 容器环境变量增加:SSL_NAME, 端口映射增加:8163;
- 启动容器,日志会输出
[MT Photos] : Server started, http port:8063 https port:8163
- 配置路由器端口8163映射(如果需要的话)
- 使用https://xxx.com:8163 来访问
SSL相关的环境变量:
SSL_NAME=xxx.com
MT_SERVER_SSL_PORT=8163
注意:SSL_NAME需要与/config/ssl/下的文件名称一致
命令举例:
docker run -d\
--name="mt-photos" \
-v /appdata/mt_photos/config:/config \
-v /appdata/mt_photos/upload:/upload \
-v /photos/folder1:/folder1 \
-v /photos/folder2:/folder2 \
-p 8063:8063 \
-p 8163:8163 \
-e TZ="Asia/Shanghai" \
-e SSL_NAME="xxx.com" \
--restart="unless-stopped" \
mtphotos/mt-photos:nodb-latest