在 Express 中,可以使用
app.set方法设置中间件来处理代理头。使用trust proxy设置告诉Express信任代理服务器发送的标头。这样,req.ip将会反映真实的客户端IP地址
- const express = require('express');
- const app = express();
-
- // 告诉Express信任代理服务器发送的标头
- app.set('trust proxy', true);
-
- app.get('/', (req, res) => {
- const ip = req.ip;
- res.send(`Your IP address is: ${ip}`);
- });
-
- app.listen(3000, () => {
- console.log('Server is running on port 3000');
- });
- const http = require('http');
-
- const server = http.createServer((req, res) => {
- const ip = req.connection.remoteAddress;
- res.end(`Your IP address is: ${ip}`);
- });
-
- server.listen(3000, () => {
- console.log('Server is running on port 3000');
- });