gpt4 book ai didi

javascript - 子域名无法使用 express-vhost

转载 作者:行者123 更新时间:2023-11-30 06:25:02 26 4
gpt4 key购买 nike

Stack Overflow 的新手。

所以我在 Digital Ocean droplet 上使用 Express( Node 9)托管我的网站。我正在使用 express-vhost 所以我可以检测子域以允许我执行 api.example.com 而不是 example.com/api但是当我尝试它时,它只是将我定向到 example.com,同时主机名中仍然有 api. 部分。

我不确定这是一个编程问题,还是它实际上与我的 DNS 记录有关,或者可能是 Digital Ocean 的问题。我不太了解 VPS 和托管。

代码如下:

// 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);

和另一个文件

// api.js
var express = require('express')
var router = express.Router()

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

module.exports = router;

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

-- 系统

最佳答案

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

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)

关于javascript - 子域名无法使用 express-vhost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50984753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com