黑群晖使用https开启nginx下载站

效果类似于Centos7下载站能够做到任何用户可在公网下载制定文件夹中的内容,实现此功能只需要修改群晖本地的nginx.conf文件即可,本次示范适用于DS3615xs和DS918+,其他平台请用户自己测试

1在管理页面上开启ssh,控制面板>终端机和SNMP>开启ssh并设置一个端口

2使用putty或finalshell登录,用户名与密码与管里面相同

3需要备份原有的nginx.conf文件

cd /etc/nginx/
sudo cp nginx.conf nginx.bak
sudo vim nginx.conf

接下来需要开启nginx下载目录,大约是在93行中插入

server {
listen 9000 ;  #这是你自定义的端口
charset utf-8; #改善页面中文会出现乱码现象
    root /volume1/lzp/共享目录; #展示的目录,这个需要修改成自己的路径,否则会出现404错误 
    if ($request_filename ~* ^.*?\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx|conf)$){
    }
    autoindex on; #开启整个目录浏览下载
    autoindex_localtime on;  #显示的时间为文件服务器时间
    autoindex_exact_size off; #显示文件的粗略大小
    }

如果你的群晖是白裙或者是洗白的,并且启用了QC和DDNS,可以使用synology签发的证书,添加上ssl,配置如下

server {
listen 9000 ssl ;#这是你自定义的端口,启用ssl使其使用https访问
charset utf-8;   #改善页面中文会出现乱码现象
    root /volume1/lzp/共享目录; #展示的目录,这个需要修改成自己的路径,否则会出现404错误 
    if ($request_filename ~* ^.*?\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx|conf)$){
    }
    autoindex on; #开启整个目录浏览下载
    autoindex_localtime on;  #显示的时间为文件服务器时间
    autoindex_exact_size off; #显示文件的粗略大小
    }

修改完毕后点击Esc,输入:wq保存并退出

接下来我们重启一下nginx,并且将这个配置文件副本做一份备份,后面会用到的

cd /etc/nginx/
sudo nginx -s reload
sudo cp nginx.conf nginx.down

这个时候使用https即可访问,如果出现404错误请检查共享目录的路径是否填写错误,如配置了qc可使用https://xxx.synology.me:9000来访问(后面的端口是配置文件中自定义的)

做到这一步,站点是能够正常打开的了,但是群晖他有一个问题,会不定期的刷新掉nginx.conf的配置文件,导致你刚刚上面写好的配置文件会丢失,我使用群晖的定时任务来解决这个问题的,这时候nginx.down这份文件就派上用场了,如果你的群晖没有不会刷新掉nginx.conf,这一步可以略过.

需要在本地创建一份配置文件

cd
sudo vim start.sh

start.sh内容如下

sudo rm -rf /etc/nginx/nginx.conf
sudo cp /etc/nginx/nginx.down /etc/nginx/nginx.conf
sudo  nginx -s reload

按Esc :wq保存并退出,将文件提权

sudo chmod 777 start.sh

接下来在群晖管理界面找到:控制面板>计划任务>新建任务>触发的任务>用户自定义的脚本

脚本运行用户选择root,计划每天运行一次,运行的命令如下:

bash /var/services/homes/admin/start.sh

点击保存,勾选任务,点击保存.

如何验证?

将/etc/nginx/nginx.conf文件删除,在面板点击执行任务,如果页面能访问,即配置成功

 

 

发表回复

电子邮件地址不会被公开。必填项已用 * 标注