对于有NAS或者有个人主机的朋友来说,将机器映射到外网是基本操作。
但是一般来说,能直接从外网访问的往往仅有80和443端口。事实上,运营商一般把家庭宽带的这两个端口都封了,所以如果我们想要从外网访问自己家中机器部署的服务,那就需要通过其他未被屏蔽的端口。
这样问题就来了,当我们部署了很多个服务的时候,想要记住这么多端口实在是太困难啦!这种时候,我们就应该考虑配置反向代理了。
反向代理可以实现通过二级或者更多层级的域名来访问不同的端口,从而达成对外屏蔽端口细节的目的。比如我们部署了一个阅读服务,地址是www.xxx.com:8801
,那么我们使用反向代理,可以实现通过reader.xxx.com
来访问该服务的效果。
下面,老Q就以绿源DX4600为例,演示下如何配置反向代理。
一、安装NginxWebUI
首先,我们在镜像管理中,搜索cym1102/nginxwebui
并下载latest
版本的Docker镜像。
然后,我们在本地镜像中找到刚刚下载的镜像,并点击创建容器,勾选创建后启动容器。
重启策略配置为“容器退出时总是重启容器”。
网络选择host
,这是因为我们要用它来管理所有的端口,所以再像之前一样使用bridge
模式就不合适了。
在NAS中创建目录,如Docker/NginxWebUI
,并将其与容器的/home/nginxWebUI
目录建立映射。类型选择读写模式。
在环境变量中,我们添加一个BOOT_OPTIONS
变量,取值为--server.port=xxxx
,其中,xxxx
就是NginxWebUI的Web管理页面对应的端口。
点击下一步、完成后,容器会自动启动。
二、配置反向代理
首次打开后,我们需要设置用户名和密码。
设置完成后登陆到管理台。
点击左侧反向代理,点击添加反向代理。
按照下图进行反向代理配置。
- 转发类型选择
http
。 - 监听IP端口可以看个人喜好选择一个,比如老Q选择了
8443
。 - 监听域名就是我们希望绑定到某个服务的二级或更多层级的域名,比如用
notes.xxxx.com
来对应我们的一个笔记服务。 - 开启
ssl
选择是。如果不想要开启https
访问,这里可以忽略,到这里就配置完成了。 http
跳转https
可以选择为是,从该端口跳转这里我们可以填另一个端口,这个端口对应的是http
的访问请求。- 选择内置证书这里,我们需要先在证书管理处申请证书以后才能进行选择。以腾讯的DNSPod为例,申请对应的流程如下图,其中
DP_id
和DP_Key
可以在DNSPod的管理后台处申请获得,域名这里我们配置*.xxxx.com
这样的形式,这样的话所有以xxxx.com
结尾的域名都可以使用该证书。如果你的域名是在别的服务商处购买的,那么可以结合实际情况调整。证书申请成功后,就可以像上图一样配置ssl证书了,直接在选择内置证书处选择我们刚申请的证书即可。
全都配置完成以后,大概长这个样子。
然后我们点击左侧启用配置选项,点击左上角替换文件,然后点击重新装载。如果弹窗提示重新装载成功,且右上角显示状态运行中,那就是配置完成了。
这时,我们就可以通过类似notes.xxxx.com:8443
或者notes.xxxx.com:8880
这样的地址来访问我们的笔记服务了。
当然,如果我们配置反代使用的机器不是家庭宽带中的机器,而是在腾讯云等云平台租用的服务器,那么我们完全可以使用443
和80
端口来监听网络请求,这样,我们访问的域名就可以隐藏掉端口,如notes.xxxx.com
。
比如老Q就把反代的服务配置在了云服务器上,这样老Q在访问家中服务时,也不需要记忆任何端口,直接通过二级域名即可。
这里是老Q,会不定时为大家分享一些大数据、量化、NAS、网站、可视化等领域的内容,欢迎大家点个关注呀!
原文链接:https://blog.csdn.net/qixizhuang/article/details/129391708?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171836987416800215072012%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171836987416800215072012&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-19-129391708-null-null.nonecase&utm_term=%E7%BB%BF%E8%81%94NAS