首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >req.protocol从不提供nginx代理背后的https。

req.protocol从不提供nginx代理背后的https。
EN

Stack Overflow用户
提问于 2016-06-25 11:34:33
回答 1查看 1.3K关注 0票数 4

我正试图识别我的快递应用程序是否是通过https协议服务的。

使用nginx来处理证书和加密(在同一台机器上),并转发请求,即使在使用https并正常工作时,req.protocol也计算为http

我分别尝试了以下两种方法:

代码语言:javascript
复制
app.set('trust proxy', 'loopback');

代码语言:javascript
复制
app.enable('trust proxy');

然而,req.protocol仍在报道http

怎么回事?

这是req.header

代码语言:javascript
复制
{ 'x-real-ip': '196.38.239.10',
  'x-forwarded-for': '196.38.239.10',
  host: 'idwork.co',
  'x-nginx-proxy': 'true',
  connection: 'close',
  'content-length': '0',
  'cache-control': 'no-cache',
  origin: 'file://',
  'content-type': 'application/json',
  'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Postman/4.3.2 Chrome/47.0.2526.73 Electron/0.36.2 Safari/537.36',
  'postman-token': 'redacted',
  accept: '*/*',
  'accept-encoding': 'gzip, deflate',
  'accept-language': 'en-US' }

这是我的相关资料(?)nginx转发规则:

代码语言:javascript
复制
location / {
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $http_host;
  proxy_set_header X-NginX-Proxy true;
  proxy_pass 127.0.0.1:1234;
  proxy_redirect off;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-25 11:41:17

我需要将这个添加到我的nginx块中:

代码语言:javascript
复制
proxy_set_header X-Forwarded-Proto https; 

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38028042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档