使用 morgan 进行日志记录仅显示 127.0.0.1:nodejs 中的 :remote-addr

kjo*_*ols 3 logging node.js angularjs

我有一个 NodeJS/Express 应用程序,正在使用 Morgan 进行日志记录: var morgan = require ("morgan"); var app = express(); app.use(morgan(':date[iso] :remote-addr :method :url :status :res[content-length] - :response-time ms'));

但在我的日志文件(从“npm start”重定向)中,我发现这样的行:

2014-12-21T10:02:59.365Z 127.0.0.1 GET / 304 - - 2.389 ms

显示 127.0.0.1 作为所有请求的远程地址。在加载index.html后,我确实使用了Angular的$routeProvider,但即使/请求也返回127.0.0.1。

app.get('/partials/:name', routes.partials); app.get('*', function (req, res) { res.setHeader('Content-type', 'text/html'); res.charset = 'UTF-8'; res.sendFile(__dirname + '/pub/index.html'); });

我错过了什么吗?实际的请求者不应该记录在这里吗?

小智 8

您的服务器位于代理后面吗?

尝试:

app.enable("trust proxy");

(在使用摩根中间件之前插入一行)