多个虚拟主机在 Chrome 上工作,但不是 Firefox 或 Safari
Posted
技术标签:
【中文标题】多个虚拟主机在 Chrome 上工作,但不是 Firefox 或 Safari【英文标题】:multiple vhosts working on Chrome, but not Firefox or Safari 【发布时间】:2019-07-20 06:00:03 【问题描述】:我使用express 和vhost 在同一个端口上设置多个服务器,每个服务器都有不同的子域。每个服务器对应于我的文件系统上的一个本地目录。他们只需要提供静态文件。
~/repos/server/app.js:
const fs = require('fs')
const path = require('path')
const express = require('express')
const vhost = require('vhost')
const app = express()
const PORT = 9000
const virtual_hosts = require('./virtual-hosts.json') // see below
app.use(express.static(path.join(__dirname, '../')))
virtual_hosts.forEach((vh) =>
var vh_app = express()
vh_app.use(express.static(path.join(__dirname, '../', vh.path)))
app.use(vhost(vh.domain, vh_app))
)
app.listen(PORT, () =>
console.log(`
Listening at http://localhost:$PORT/
Press ctrl + c to stop.
`)
console.log('...')
)
~/repos/server/virtual-hosts.json:
[
"domain": "repo1.localhost", "path": "./repo1/" ,
"domain": "repo2.localhost", "path": "./repo2/" ,
"domain": "repo3.localhost", "path": "./repo3/"
]
运行node ~/repos/server/app.js
后,网址http://localhost:9000/repo1/index.html
在所有3 种浏览器中都可以使用,但http://repo1.localhost:9000/index.html
仅在Chrome 中有效,而在Firefox 或Safari 中无效。
我的代码有问题,还是我需要更改一些浏览器设置?
【问题讨论】:
更新:我找到了这个,但不确定它是否有帮助:support.mozilla.org/en-US/questions/1011327 【参考方案1】:有点晚了,但是对于提出相同问题的人来说。
您不能在“localhost”的 windows 上使用子域。我不知道 chrome 是如何处理它的,但正常的行为是你不能这样做。
如果您仍想存档,请查看this。
【讨论】:
以上是关于多个虚拟主机在 Chrome 上工作,但不是 Firefox 或 Safari的主要内容,如果未能解决你的问题,请参考以下文章
在 FF 和 Chrome(但不是 Safari)中单击几次后,jQuery animate scrollLeft 停止工作
选项卡单击可在 chrome 上工作,但不能在 Firefox 上工作