群晖使用acme脚本实现https自动配置,主要服务都能是用https了,如首页,文件管理等,能够强制端口跳转到https的端口。,但是web station是个例外。这样一来,部署在web station下面的网站就没有办法自动实现https跳转了,每次还只能手动输入https,就显得很是麻烦,英雌便有这个笔记。

部署网站

1.将网站程序上传 web 目录下,如我使用的zdir目录成

群晖web station实现https端口跳转实现SSL加密

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

你看到如下内容,其中标识出来地方需要注意看:

sshssh

在标识出来的地方,分别是虚拟主机刚刚设置的端口,网站对应的目录,以及很重要的 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了

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。