在Think.JS的启动脚本中,就是项目根目录下的 Development.js 或则 Production.js 中有一个开关,这个开关可以告知app是否使用了反向代理,从而可以在 this.ctx.ip 中获取到正确的地址。
// 创建app的时候
const instance = new Application({
ROOT_PATH: __dirname,
APP_PATH: path.join(__dirname, 'app'),
watcher: watcher,
transpiler: [babel, {
presets: ['think-node']
}],
notifier: notifier.notify.bind(notifier),
// 这个参数决定了如何去获取ip地址。
proxy: true, // true: 使用了反向代理,false:不使用反向代理
env: 'development'
});