我正在尝试在CPanel上安装一个使用Phusion乘客的应用程序。经过一定的研究,我发现普华旅客对港口约束的控制发生了逆转。https://www.phusionpassenger.com/library/indepth/nodejs/reverse_port_binding.html
有以下解决办法:
Express.js示例:
if (typeof(PhusionPassenger) !== 'undefined') {
PhusionPassenger.configure({ autoInstall: false });
}
var express = require('express');
var app = express();
app.get('/', function(req, res) {
var body = 'Hello World';
res.setHeader('Content-Type', 'text/plain');
res.setHeader('Content-Length', body.length);
res.end(body);
});
if (typeof(PhusionPassenger) !== 'undefined') {
app.listen('passenger');
} else {
app.listen(3000);
}是否有可能在fastify中设置这个用例?我看过FastifyListenOptions,但不知道我应该试用哪一种属性。
编辑:
问题是,fastify的默认行为是以“localhost”的形式运行主机。乘客只能打电话听一次。因为'localhost‘同时运行IPv4和IPv6,它会崩溃。设置为'127.0.0.1‘可以解决这个问题。我问这个问题的前提是错误的。
发布于 2022-09-02 19:07:30
通过与fastify@4.5.3一起运行,它将起作用:
const fastify = require('fastify')({ logger: true })
fastify.get('/', async (request, reply) => {
return { hello: 'world' }
})
if (typeof (PhusionPassenger) !== 'undefined') {
fastify.listen({ path: 'passenger', host: '127.0.0.1' })
} else {
fastify.listen(8080)
}请注意,listen选项被转发到http.createServer()方法。

https://stackoverflow.com/questions/73563025
复制相似问题