第一次配反代,第一次openwrt下用docker,尼玛出了问题,不知道是哪边的问题,太难了
记录下来给自己以后再配做参考
注:我使用的openwrt固件为HOMELEDE,URL:https://github.com/xiaoqingfengATGH/HomeLede
nginx环境搭建
向来能图形的我是不愿意命令,能docker的我是懒得慢慢调,我这次使用的是cym1102/nginxwebui来搭建nginx环境。
URL:https://hub.docker.com/r/cym1102/nginxwebui
参照dockerhub中的教程能非常easy的搭建好,访问端口默认为8080
1.openwrt中依次点击docker-容器-添加,在弹出来的页面点击命令行,输入以下命令后提交
docker run -itd -v /home/nginxWebUI:/home/nginxWebUI -e BOOT_OPTIONS="--server.port=8080" --privileged=true --net=host --restart=always cym1102/nginxwebu
不确定需不需要先在/home/下建对应文件夹,我都是先建好的,如果报错,可以按下述命令建文件夹
mkdir /home/nginxWebUI
3.启动容器,通过[openwrt的IP]:8080访问页面
第一次启动会要求配置账号密码,配置完登录即可
配置防火墙
注意,这里是最大的坑,如果不是docker不在openwrt上,仅需要配置端口转发
但openwrt上的docker不仅需要配置端口转发,还需要加通信规则,我也不懂原理,试了无数遍试出来的
以放行端口:22000为例子
1.配置端口转发,规则如图,别忘了保存并应用
3.弹出的界面,其他保持默认,源端口和目标端口改成22000
4.点击保存并应用后,应该会生成如下的规则,检查一下是否一致
配置反代规则
申请证书
登录nginxWebUI后,点击证书管理-添加证书,就可以很方便的申请证书
可以配置自动续签,还是挺方便的
注:需事先获取Ali_Key,Ali_Secret,以及配置DDNS,这里不是本篇重点,不做介绍,请自行搜索教程
反向代理
逻辑图
大概讲一下我的需求并解释一下上面的图,我有一个虚拟机,多个服务分开
- nas1上端口8080,8989各提供了一个服务
- nas2上端口9001提供了一个服务
之前是每个端口做一个端口转发,放出的端口太多,不安全,我现在想实现的就是如上图所示的功能
,openwrt上的ngnix监听22000端口,也只放行这一个端口,通过URL来区分不同的服务
- a.xyz.com:22000 访问web1
- a.xyz.com:22000/web2 访问web2
- b.xyz.com:22000 访问web3
操作步骤
注:
http跳转https可以不勾选,如果勾选,注意不要写已使用的端口,比如默认的端口80已经被openwrt网页监听,所以需要改成其他未被占用的端口,如果需要使用,还需要配置对应的防火墙规则
借物表
封面:https://www.pixiv.net/artworks/85411236
作者:MORNCOLOUR
版权属于:木 白
本文链接:https://www.moehz.com/archives/ngnix_R_proxy.html
版权声明:本站所有文章采用 CC BY-NC-SA 4.0 许可协议。非商业转载及引用请注明出处(作者、原文链接),商业转载请联系作者获得授权。
主题还真是不错呢,哈哈
你主题好漂亮 求源码
https://github.com/AlanDecode/Typecho-Theme-VOID