你访问群晖的时候,群晖只看到两个信息,一是你的域名,二是你的端口
那么这个时候,群晖怎么知道你要访问哪个服务呢?
使用域名访问规则,那你就设定各个服务的域名,不同的域名来访,群晖就知道你需要哪个服务
使用端口规则,那就给各个服务设定不同端口,你访问到对应端口,就访问到对应服务
这两种,都是你和服务直接握手,类似找小姐,你是直接和小姐交易买卖。
群晖自己使用的,不是直接交易,而是通过老鸨的方式,你先找到老鸨,告诉老鸨你的需求,老鸨再把对应小姐找来给你。这个老鸨就是dsm。换言之,如果你要使用群晖这种方式,就只需要一点,开启老鸨在外网的访问即可,其他小姐全关在内网即可,外网先和内网的老鸨接头,老鸨再带小姐出来见你。
群晖在电脑端的程序和手机端的app,会自动在你的域名和端口之外,添加其他信息,这些信息会让dsm识别,然后通过dsm调用对应服务
如果你只用华硕给你的二级域名,也就是域名只有一个,那么如果你要和服务直接握手,就需要给不同服务配不同端口,通过一个域名加不同端口,访问不同服务
或者也可以借用dsm做中介,用华硕域名加dsm端口,访问dsm即可。
程序和app使用,ok,因为它们自动帮你向dsm提交其他识别信息,也就说你用moments访问dsm,群晖会自动调起moments服务给你。
web的话,你就需要先开dsm,然后在dsm软件中心来开对应服务。
hsts不过是强制https,跟你说的不是一回事。如果发现来访是http,hsts会强制将http访问导向https。实际上没用,除非你家443没封,应为hsts导向https时,是使用默认443的,而如果你的公网ip443并不能通到群晖443,http访问群晖,就会被hsts导向一个无法访问的https。
上边也讲了,为什么各个程序和app的https默认使用端口是5001,因为群晖的dsm默认https端口是5001,群晖除pc端drive 6690外,其他全部是走的dsm当中间人的方法,换言之,包括ds file在内,都是先访问5001端口访问到dsm,然后再由dsm帮助调起对应服务。
如果你决定就让程序和app使用默认的5001,
//那么,路由器5001映射群晖443,则所有到访群晖的,在群晖看来都是域名:443,此时你就必须变换域名,才能变换服务,否则所有到访都是一模一样,群晖不知道你要干啥。
//或者,路由器映射5001到dsm端口(如果没有自定义,那就是5001),那么你访问的就是dsm,此时只需要一个域名即可,用来访问到dsm即可。dsm可以充当中介,dsm一看ds file在访问中附带给dsm的额外信息,就知道调起file服务。
你如果映射443用不了ds file,就说明你没有为file设定你使用的对应域名。
443就像群晖的一个预设接待大厅,到这里来的所有人,你必须有介绍信,然后由域名服务规则或者反向代理规则等作为接待员,接待员根据你的介绍信,引导你去对应小姐。你如果没有设定引导员,或者你的介绍信和引导员的工作手册对不上,那么你就无人引导,就只能在接待大厅转一圈,然后oops,出错啦。
如果你不想采用这种客人小姐直接对面的方式,你就采用dsm中介。
你设定dsm在5001房间上班,然后所有客人都到5001,告诉dsm你找谁,dsm就叫对应小姐出来服务你。
选哪种,你根据自己情况选择合适。
【 在 Eatman 的大作中提到: 】
: 明白了
: 我昨天的问题其实是我用两个域名连群晖,所以不想设hsts。但是发现如果不设hsts,手机上的ds file也是连群晖的5001端口,而不是443。
: 这样的话,我还是得5001映射到5001,而不是5001映射到443,443需要额外的端口映射。
: ...................
--
修改:tysy1230 FROM 220.173.26.*
FROM 220.173.26.*