首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >子域不能使用express-vhost工作

子域不能使用express-vhost工作
EN

Stack Overflow用户
提问于 2018-06-22 17:22:23
回答 1查看 331关注 0票数 3

Stack Overflow新手。

因此,我使用Express (Node 9)在数字海洋水滴上托管我的网站。我正在使用express-vhost,所以我可以检测子域,允许我执行api.example.com而不是example.com/api,但当我尝试它时,它只是将我引导到example.com,同时主机名中仍然包含api.部分。

我不确定这是编程问题,还是实际上与我的DNS记录有关,或者可能是数字海洋的问题。我不是很好地装备了VPSes和托管知识。

代码如下:

代码语言:javascript
复制
// app.js
var subdomain = require('express-vhost');
var express = require('express');
var app = express();
var router = express.Router();
var api = require("./api.js")

subdomain.register('api.localhost:3000', api)
app.use(subdomain.vhost(app.enabled('trust proxy')));

app.get('/', function(req, res) {
    res.send('Detect Region and send to correct subdomain!');
});

app.listen(3000);

和另一个文件

代码语言:javascript
复制
// api.js
var express = require('express')
var router = express.Router()

router.get('/', function(req, res) {
    res.send("api url")
});

module.exports = router;

如果这不是足够的信息,很抱歉。我很乐意回答你需要回答的任何其他问题。

-- sys

EN

回答 1

Stack Overflow用户

发布于 2018-06-22 17:49:24

我建议您不要使用express-vhost (旧的和废弃的包),而是直接使用express org的vhost模块。

代码语言:javascript
复制
const vhost = require('vhost')
const express = require('express')
const app = express()
const api = require('./api')

app.enable('trust proxy')

app.use(vhost('api.localhost:8000', api)) // api being your router

app.get('/', function(req, res) {
    res.send('Detect Region and send to correct subdomain!');
})

app.listen(3000)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50984753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档