一站式教程:从 Nginx 安装、域名解析到 SSL 配置,结合反向代理与证书,让你轻松实现公网通过域名访问 NAS 服务,包括 DSM、Jellyfin 等。
合规与安全提示
本文讲解的配置仅适用于合法拥有的设备与域名,请确保你有权限进行该操作。配置 HTTPS 时,请选择正规受信证书,避免使用自签证书导致浏览器警告。
方案概述与准备
目标:通过 Nginx 配置实现通过 域名 访问 NAS,同时使用 SSL 保障安全通信。
准备工作:
购买并解析域名:购买域名(如
nas.example.com),并将其解析到 ECS(或部署 Nginx 的服务器)公网 IP。具体可参阅阿里云 ECS 购买与部署宝塔面板 + 域名购买及ICP备案全流程(2025)安装 Nginx:在服务器上安装并配置 Nginx 反向代理服务,指向 NAS 的 DSM 或其他应用端口。
配置 SSL 证书:通过 Let’s Encrypt 免费获取 SSL 证书,或者手动上传证书以启用 HTTPS 加密。
安装 Nginx(没有通过宝塔面板安装)
更新系统与安装 Nginx
首先更新系统软件包:
sudo apt update 安装 Nginx:
sudo apt install nginx 启动并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx 备份原配置文件:
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak 创建或编辑网站配置:
sudo vim /etc/nginx/sites-available/nas 直接跳到第5节。
通过宝塔面板安装安装 Nginx
通过systemd配置服务
sudo vim /etc/systemd/system/nginx.service 填入
[Unit]
Description=nginx - high performance web server
After=network.target
[Service]
Type=forking
ExecStart=/www/server/nginx/sbin/nginx
ExecReload=/www/server/nginx/sbin/nginx -s reload
ExecStop=/www/server/nginx/sbin/nginx -s stop
PIDFile=/www/server/nginx/logs/nginx.pid
[Install]
WantedBy=multi-user.target ls /www/server/nginx/conf/ # 查看是否有nginx.conf 或类似的文件 备份原配置文件:
sudo cp /www/server/nginx/conf/nginx.conf /www/server/nginx/conf/nginx.conf.bak 创建或编辑网站配置:
sudo vim /www/server/nginx/conf/nginx.conf 填入内容见第5节。
HTTP 请求重定向到 HTTPS
填入
server
{
listen 80;
server_name nas.example.cn;
# 将 HTTP 请求重定向到 HTTPS
location / {
return 301 https://$server_name$request_uri;
}
}
server
{
listen 443 ssl;
server_name nas.example.cn;
ssl_certificate /www/server/nginx/conf/nas.example.cn.pem;
ssl_certificate_key /www/server/nginx/conf/nas.example.cn.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
# 统一转发头
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 200m;
location / {
proxy_pass https://127.0.0.1:开放的远程访问端口(见frpc客户端/;
proxy_ssl_server_name on;
proxy_ssl_name 127.0.0.1;
proxy_read_timeout 300;
}
} 配置 SSL 证书
使用 Let’s Encrypt 配置 SSL
使用 Certbot 来自动获取 SSL 证书:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d nas.ganglitm.cn 完成后,Certbot 会自动配置 SSL 并为 Nginx 添加相关的 SSL 配置。
手动上传 SSL 证书
通过阿里云或其他证书服务商获取并下载证书(下载nginx版本的)。
上传到服务器指定目录(如
/www/server/nginx/conf/)。编辑 Nginx 配置文件并指定证书路径: /www/server/nginx/conf/nas.ganglitm.cn.pem,/www/server/nginx/conf/nas.ganglitm.cn.key
sudo /www/server/nginx/sbin/nginx -s stop # 或者
sudo systemctl stop nginx sudo systemctl daemon-reload
sudo systemctl start nginx sudo systemctl enable nginx 常见问题排障
无法访问域名:检查 DNS 解析是否正确;
A记录是否指向正确的 ECS 公网 IP。SSL 证书问题:确认证书路径正确,
ssl_certificate和ssl_certificate_key配置是否正确。连接超时:检查安全组是否放行相应端口(443、80、5000、5001)。
反向代理无效:确认代理地址与端口是否匹配,NAS 是否正常运行。
— 完 —

