小公司,公司内网有一台群晖NAS,平时做做存储,近期为提升公司信息化管理水平,找人开发了几个小网站,供员工及固定客户访问使用。因网站仅固定人员访问,且公司网络有公网IP,也为了节约成本,就把网站架在了内网的群晖NAS上,同时在腾讯云注册了几个“.cn”的域名(下面以mydomain.cn为例),开通了免费的DNS解析服务。网站上线成功,公司形象及办公效率大大提升。隔壁公司的好兄弟一看眼红了,因关系不错,就帮他们原封不动也部署了一套,因为网站架设在内网,两家公司的网络还有一些差异,网站的访问设置过程中碰到了一些问题。
一、基础篇:内外网使用不同的访问方法
1.在外网访问NAS网站
在群晖的Web Station里设置好了网络门户,外网用户就可以通过域名来访问网站了,但不能使用纯域名,还得在域名后面加上端口号。因为公司网络虽有公网IP,但80、443端口是关闭的,只能通过端口映射来解决这个问题,就通过路由器的端口映射功能(或使用UPnP功能)把NAS的80、443端口映射到了路由器的8000、8001端口。这样,在外网就可以通过“http://mydomain.cn:8000”或“https://mydomain.cn:8001”访问内部网站了。
2.在内网访问NAS网站
因NAT回流的问题,内网的NAS网站只有在外网的时候才能使用域名访问,在内网是不能用域名来访问的。如果没有特殊需要,当然可以在内外网使用不同的方式来访问网站,在内网访问的时候,就直接使用NAS的局域网IP地址如“http://192.168.1.5”或“https://192.168.1.5”来访问就可以了。因为在内网可以直接访问NAS的80、443端口,80、443是默认端口,就不需要添加端口号了。
二、进阶篇:内外网都使用域名访问群晖NAS上的网站
内外网使用不同的访问方法虽然简单,但存在一些问题,一是经常在内外网不同场景中办公的员工感觉不太方便;二是几个网站之间都有一些网页间跳转的链接,如果是使用域名跳转,则内网无法访问,如果使用内网IP跳转,则外网无法访问。解决这些问题的最好办法是让内外网都使用域名来访问NAS上的网站。
1.自定义Hosts或DNS解析
电脑上都可以自定义设置Hosts,基本格式是“192.168.1.5 mydomain.cn”(地址和域名间有一个空格,每条记录单独一行),当我们访问“mydomain.cn”时,就会直接访问“192.168.1.5”,这对于固定在办公室的台式机来讲问题不大,但如果电脑太多需要每台都设置就比较麻烦,而且员工的笔记本电脑需要在内外网间来回移动,设置固定的Hosts就不太现实了。
最佳的办法是在路由器上进行自定义Hosts或设置DNS服务,我公司网络使用了一台H3C的路由器,找到“高级设置”-“应用服务”-“DNS Server”,新增一项静态域名设置就完成了。
商用路由器的设置功能比较齐全,好多的家用路由器设置功能比较简单,往往没有DNS服务可供设置。兄弟公司就使用了一台小米路由器AX3600的路由器,在网页设置界面中没有自定义Hosts或DNS服务的功能,但在手机管理APP“小米WIFI”中有“自定义Hosts”的功能,在手机APP里按基本格式设置即可。
2.设置反向代理
我公司的路由器设置好端口映射和DNS服务后,内外网的访问都没有问题了,但兄弟公司的访问出现了问题。因为自定义Hosts或DNS Server里的域名和网址不能加上端口号,所以只解决了域名和网址的转换,还没有解决端口的问题。NAS网站在内网的端口号是默认的80和443,在内网使用公网域名带端口号如“http://mydomain.cn:8000”访问时,我公司的H3C路由器在进行DNS解析时会同时执行端口映射功能就把8000映射到NAS的80端口实现访问,而兄弟公司的小米路由器在进行DNS解析时不执行端口映射功能,就没有办法访问到80端口,导致访问失败。要解决这个问题,就需要在NAS里设置反向代理。
打开NAS的控制面板,在“登录门户”的“高级”页面里点击打开“反向代理服务器”,新增两项反向代理服务。
这样,在内网使用“http://mydomain.cn:8000”或“https://mydomain.cn:8001”访问的时候,路由器会通过自定义Hosts或DNS服务跳转到NAS,而NAS会将所有8000或8001的端口访问都代理到80和443端口,顺利实现网站的访问,实现了内外网都可以使用同样的“域名+端口号”访问到内网NAS上的网站了。
三、高级篇:内外网都使用https安全访问
1.使用https安全访问
考虑到网站在访问过程中许多公司信息和客户资料在网络上传送,为保障信息安全,网站仅提供https安全访问。这就需要在NAS上安装相应的签名证书,否则在进行https访问时,浏览器会提示网站存在安全问题,严重的话会影响网站访问。首先,在腾讯云申请了免费的签名证书,因为有几个网站,还有几个二级域名,每个都需要申请各自的证书。其次,在NAS上安装这些证书,并且在“证书设置”里将NAS的各项服务和对应的证书一一匹配设置好。这样,用户在使用https访问网站时,浏览器会确认这是一个安全的网站而不会阻拦,实现安全访问。
2.在内网实现https安全访问
问题还是出在了兄弟公司,按我公司原样设置好证书,外网访问是没问题了,但在内网访问时,浏览器还是提醒存在安全问题,查看详情是因为证书不匹配。经过一番折腾,尝试着在反向代理服务器进行进一步设置,把原来“*:8001”分解,把每一个域名都单独设置反向代理(如下图),设置完成后再在内网使用浏览器进行https访问,安全通过,问题解决了。
对于业务量不大的小公司来讲,把网站架设在内网NAS上不失为既能提升管理效率又能控制成本的一种有效手段。但由于公司的供电保障情况不同,网络布设情况也较复杂,所以公司内部NAS的安全性、稳定性远不如云服务器来得高,需要高稳定性和安全性的网站还是应选择部署在云服务器上。
暂无评论内容