Javascript Access_令牌在本地主机而不是服务器中工作

Javascript Access_令牌在本地主机而不是服务器中工作,javascript,node.js,hapijs,Javascript,Node.js,Hapijs,我在我的应用程序中使用以下代码来检查是否提供了一些头文件。这些代码在本地主机中运行良好,但在将应用程序部署到服务器时却无法运行。基本上,我试图检查请求中是否存在标题。在服务器上,我不断收到无效的请求。当我传递accesstoken而不是access_token时,请求将成功通过。因此,通过更改if((request.headers.access_-token&&request.headers.refresh_-token&&request.headers.id_-token)| request.

我在我的应用程序中使用以下代码来检查是否提供了一些头文件。这些代码在本地主机中运行良好,但在将应用程序部署到服务器时却无法运行。基本上,我试图检查请求中是否存在标题。在服务器上,我不断收到无效的请求。当我传递accesstoken而不是access_token时,请求将成功通过。因此,通过更改
if((request.headers.access_-token&&request.headers.refresh_-token&&request.headers.id_-token)| request.headers.token)

代码是有效的,我的问题是为什么会发生这种情况

const Hapi = require('hapi');
const Path = require('path');
const axios = require('axios');

    var tokenValidation = function (request, reply) {


            if ((request.headers.access_token && request.headers.refresh_token && request.headers.id_token) || request.headers.token) {

                if (request.headers.access_token != undefined) {
                   //do something
                    }
                    else {
                        return reply.continue();
                    }

                } else
                    return reply.continue();
            } 
            else {
                var err = Boom.badRequest(‘Invalid request.');
                reply(err);
            }
        }

        server.ext('onRequest', tokenValidation);
缺少(正在消失)HTTP头 如果未在上的\u标题中显式设置下划线\u;,NGINX将无声地删除带有下划线的HTTP头(根据HTTP标准,下划线是完全有效的)。这样做是为了防止在将标题映射到CGI变量时出现歧义,因为在此过程中,虚线和下划线都映射到下划线。


我们必须在NGINX中的\u头上显式加下划线,否则它们将被忽略

您在服务器上安装的npm,对吗?什么是
服务器
?请包括
require
语句。您需要提供一个在本地主机上工作但不在服务器上工作的请求(带有标题)示例。const Hapi=require('Hapi');const Path=require('Path');const build=require('../build.json');var jwtDecode=require('jwt-decode');恒臂=需要(“臂”);const axios=require('axios');var querystring=require('querystring');var记录器=要求('./车队api/记录器');它是一个简单的GET请求,包含Headers,即运行相同版本节点的服务器