
公司内网有一台群晖NAS,平时做做存储,为提升公司信息化管理水平,开发了几个小网站,供员工及固定客户访问使用。因网站仅固定人员访问,为了节约成本,就把网站架在了内网的群晖NAS上,同时注册了几个域名,开通了免费的DNS解析服务。因为网站架设在内网,网站的访问设置过程中就需要解决一些问题,如网络有公网IP的需要做下路由器端口映射设置,动态公网IP的同时还需要借助动态域名解析DDNS固定域名代替IP,另在面对无公网IP时需要使用nat123端口映射软件或类似内内网穿透技术应用工具的相关解决方案实现让局域网外连接访问。
1、在外网访问NAS网站
有公网IP时:在群晖的Web Station里设置好了网络门户,外网用户就可以通过域名来访问网站了,但不能使用纯域名,还得在域名后面加上端口号。因为公司网络虽有公网IP,但80、443端口是关闭的,只能通过端口映射来解决这个问题,就通过路由器的端口映射功能(或使用UPnP功能)把NAS的80、443端口映射到了路由器的8000、8001端口。这样,在外网就可以通过“http://mydomain:8000”或“https://mydomain:8001”访问内部网站了。
无公网IP时:用端口映射软件,如nat123客户端上直接添加个端口映射记录,直接将本地内网IP端口转换成自定义域名端口。这样,在外网就可以通过自己域名或映射工具默认提供的自定义二级域名访问自己内部网站了。
2、在内网访问NAS网站
因NAT回流的问题,内网的NAS网站只有在外网的时候才能使用域名访问,在内网是不能用域名来访问的。如果没有特殊需要,当然可以在内外网使用不同的方式来访问网站,在内网访问的时候,就直接使用NAS的局域网IP地址如“http://192.168.1.205”或“https://192.168.1.205”来访问就可以了。因为在内网可以直接访问NAS的80、443端口,80、443是默认端口,就不需要添加端口号了。
内外网使用不同的访问方法虽然简单,但存在一些问题,一是经常在内外网不同场景中办公的员工感觉不太方便;二是几个网站之间都有一些网页间跳转的链接,如果是使用域名跳转,则内网无法访问,如果使用内网IP跳转,则外网无法访问。解决这些问题的最好办法是让内外网都使用域名来访问NAS上的网站。
1、自定义Hosts或DNS解析
个人电脑hosts方案:电脑上都可以自定义设置Hosts,基本格式是“192.168.1.5 mydomain.cn”(地址和域名间有一个空格,每条记录单独一行),当我们访问“mydomain.cn”时,就会直接访问“192.168.1.5”,这对于固定在办公室的台式机来讲问题不大,但如果电脑太多需要每台都设置就比较麻烦,而且员工的笔记本电脑需要在内外网间来回移动,设置固定的Hosts就不太现实了。
路由hosts:这是个较佳的办法,就是在路由器上进行自定义Hosts或设置DNS服务,如我公司网络使用了一台H3C的路由器,找到“高级设置”-“应用服务”-“DNS Server”,新增一项静态域名设置就完成了。

商用路由器的设置功能比较齐全,好多的家用路由器设置功能比较简单,往往没有DNS服务可供设置。有的路由需要在手机APP里面设置,如你就使用了一台小米路由器AX3600的路由器,在网页设置界面中没有自定义Hosts或DNS服务的功能,但在手机管理APP“小米WIFI”中有“自定义Hosts”的功能,在手机APP里按基本格式设置即可。

2、设置反向代理
对于公司的路由器有公网IP的,设置好端口映射和DNS服务后,通常内外网的访问都没有问题了。但如果是hosts的,因为自定义Hosts或DNS Server里的域名和网址不能加上端口号,所以只解决了域名和网址的转换,还没有解决端口的问题。NAS网站在内网的端口号是默认的80和443,在内网使用公网域名带端口号如“http://mydomain:8000”访问时,公司的H3C路由器在进行DNS解析时会同时执行端口映射功能就把8000映射到NAS的80端口实现访问,而如你司的路由器在进行DNS解析时不执行端口映射功能,就没有办法访问到80端口,导致访问失败。要解决这个问题,就需要在NAS里设置反向代理。
NAS反向代理设置:打开NAS的控制面板,在“登录门户”的“高级”页面里点击打开“反向代理服务器”,新增两项反向代理服务。

这样,在内网使用“http://mydomain:8000”或“https://mydomain:8001”访问的时候,路由器会通过自定义Hosts或DNS服务跳转到NAS,而NAS会将所有8000或8001的端口访问都代理到80和443端口,顺利实现网站的访问,实现了内外网都可以使用同样的“域名+端口号”访问到内网NAS上的网站了。
1、使用https安全访问
考虑到网站在访问过程中许多公司信息和客户资料在网络上传送,为保障信息安全,网站仅提供https安全访问。这就需要在NAS上安装相应的签名证书,否则在进行https访问时,浏览器会提示网站存在安全问题,严重的话会影响网站访问。首先,在腾讯云申请了免费的签名证书,因为有几个网站,还有几个二级域名,每个都需要申请各自的证书。其次,在NAS上安装这些证书,并且在“证书设置”里将NAS的各项服务和对应的证书一一匹配设置好。这样,用户在使用https访问网站时,浏览器会确认这是一个安全的网站而不会阻拦,实现安全访问。
2、在内网实现https安全访问
按设置好证书,外网访问是没问题了,但有人说在内网访问时,浏览器还是提醒存在安全问题,查看详情是因为证书不匹配。经过一番排查,发现有多个域名的情况,这就需要在反向代理服务器进行进一步设置,把原来“*:8001”分解,把每一个域名都单独设置反向代理,设置完成后再在内网使用浏览器进行https访问,安全通过,问题解决了。
1、部署方案选择
对于业务量不大的小公司来讲,把网站架设在内网NAS上不失为既能提升管理效率又能控制成本的一种有效手段。但由于公司的供电保障情况不同,网络布设情况也较复杂,所以公司内部NAS的安全性、稳定性远不如云服务器来得高,有条件的建议选择部署在云服务器上并后续在云主机上进行管理维护。
2、无公网IP时
通用法:如果本地部署后网络环境是没有公网IP的,需要使用nat123端口映射软件或类似内网穿透工具的方式,将对应内网IP端口转换成自定义域名端口,解决让外网访问的问题。这也是一种较为通用的,内网提供互联网访问的便捷解决方法。

自带外网地址的:另部分NAS型号本身有自带内网穿透的,则可以直接使用其对应NAS后台的提供的公网地址进行访问也可以。部分NAS设备(如群晖)自带内网穿透功能,主要通过QuickConnect服务方式实现:Synology官方提供QuickConnect服务,无需额外配置即可实现远程访问。只需在NAS控制面板中启用该功能,通过生成的动态域名即可从外部网络访问设备。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。