群晖使用acme脚本实现https自动配置,主要服务都能是用https了,如首页,文件管理等,能够强制端口跳转到https的端口。,但是web station是个例外。这样一来,部署在web station下面的网站就没有办法自动实现https跳转了,每次还只能手动输入https,就显得很是麻烦,英雌便有这个笔记。
部署网站
1.将网站程序上传 web 目录下,如我使用的zdir目录成
2.打开web station创建虚拟主机
虚拟机
3.选择基于端口,分别填写http和https的端口号
4.文件目录选择刚刚上传的web目录下的zdir目录,https设置可以都勾选,也可以勾选一个
5.http后端服务:Ngnix,一定选择这个,如果没有安装Appache的话,也就一个选项
php选择php7就可以了
6.点击确定,一个虚拟主机就创建完成了。正常情况下,在局域网就可以通过端口进行访问了
虚拟机
修改Ngnix配置实现自动跳转
创建好虚拟主机之后,可以通过不同的端口进行访问,如上面的使用https话就需要输入8101端口,而输入8100端口没有办法自动跳转https的8101端口,并且使用https协议。现在就要解决这样的问题:输入 http://192.168.1.100:8100能够自动跳转到https://192.168.1.100:8101,实现SSL加密。
1.打开群晖的SSH
2.下载对应ssh工具,我使用的mac电脑,使用ShellCraft非常方便
3.使用ssh工具登录群晖
输入一下命令:
cat /etc/nginx/app.d/server.webstation-vhost.conf
你看到如下内容,其中标识出来地方需要注意看:
ssh
在标识出来的地方,分别是虚拟主机刚刚设置的端口,网站对应的目录,以及很重要的 Ngnix配置文件的位置,需要记住中间的一串字符;字符是随机生成,虚拟主机创建成功后就不会改变。
include /usr/local/etc/nginx/conf.d/1c1daaa9-34bb-4796-a786-a5c06014ee52/user.conf*;
4. 创建Ngnix配置文件,
执行以下命令:
cd /usr/local/etc/nginx/conf.d/
进入对应目录后,执行ls看到所有文件和目录,找到其中上一步记住的一串字符对应的目录:
目录
5.执行以下命令,进入目录(字符串替换为自己的):
cd 1c1daaa9-34bb-4796-a786-a5c06014ee52/
6.下面开始创建ngnix的配置文件,执行以下命令,需要输入群晖的密码
sudo vi user.conf.dir
其中的dir是可以替换,但是前面的不可以随意更换,切记注意。按 i进入编辑模式,输入一下内容(xxx.com为自定域名,替换为自己):
if ($scheme = http) { return 301 https://xxxx.com:8101$request_uri;
}
输完之后,按esc退出编辑模式,输入:wq进行保存退出。
7. 重启web服务,输入一下命令
sudo nginx -s reload
8. 完成后,即可在浏览器中输入http端口进行跳转到https了
评论(0)