本帖最后由 xuecqcn 于 2019-8-30 11:32 编辑
说在前面,群晖有自带的反向代理,而qnap却没有,所以可以用docker安装nginx来代理。
1,下载docker镜像,直接安装,注意要设置端口转发,然后运行,看看是否成功。
2,复制容器内的配置文件到宿主机。ssh连接nas。输入命令 docker cp -a nginx-4:/etc/nginx/ /share/nginx/conf
其中nginx-4是容器名称,/share/nginx/conf是nas上的文件夹,/etc/nginx/和 /share/nginx/conf之间有空格。然后停止容器,删除,等会儿再新建。
***我已经复制出来了,可直接把nginx文件夹下面的东西拷贝进去,不用上面的步骤,理论上应该行得通。***
3,新建容器,设置端口转发,设置目录映射,将本地的/share/nginx/conf映射为容器的/etc/nginx,然后运行搞定。
4,配置文件为conf.d文件夹下面的default.conf,不是修改nginx.conf。
5,添加https访问,阿里云下载nginx证书,为方便解压后改名ssl.pem和ssl.key,还是放入/share/nginx/conf文件夹。
6,修改conf.d文件夹下面的default.conf,直接在后面添加
server {
listen 443 ssl;
listen [::]:443 ssl ipv6only=on; #我的只有ipv6地址,所以后面添加了ipv6only=on
server_name localhost;
ssl_certificate /etc/nginx/ssl.pem; #注意证书放的地址
ssl_certificate_key /etc/nginx/ssl.key; #注意证书放的地址
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
保存后再重新运行,可https访问主页。
7,反向代理。例如我要代理局域网路由器上面的File Manager ,继续在后面添加
server {
listen 81 ssl;
listen [::]:81 ssl ipv6only=on;
server_name localhost;
ssl_certificate /etc/nginx/ssl.pem;
ssl_certificate_key /etc/nginx/ssl.key;
location / {
proxy_pass http://192.168.123.1:888;
}
}
保存后再重新运行,由于我是把容器的81端口映射到宿主机器的3081端口,所以访问https://NAS地址:3081。
由于我只用nginx来进行反向代理,所以如何映射设置主页,log文件,我都不明白,也懒得再去试了,搞出来的,请跟帖,还请大家批评指正。
|
|