Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在多租户web应用程序中标识租户url_Javascript_Amazon Web Services_Url_Multi Tenant - Fatal编程技术网

Javascript 在多租户web应用程序中标识租户url

Javascript 在多租户web应用程序中标识租户url,javascript,amazon-web-services,url,multi-tenant,Javascript,Amazon Web Services,Url,Multi Tenant,有人能帮我在我的多租户web应用程序中识别租户的url吗?现在,我的应用程序位于AWS上的ec2 xxx xxx.compute-1.amazonaws.com:xxx。每个租户通过进入app.some_client_domain.com访问应用程序,该应用程序通过屏蔽转发到我的AWS实例。到目前为止我已经尝试过的事情: 1) 将window.location.href附加到http头并在服务器端(Node.js)打印它: 此技术返回AWS服务器的IP地址xx.xxx.xxx.xxx 2) 将w

有人能帮我在我的多租户web应用程序中识别租户的url吗?现在,我的应用程序位于AWS上的
ec2 xxx xxx.compute-1.amazonaws.com:xxx
。每个租户通过进入
app.some_client_domain.com
访问应用程序,该应用程序通过屏蔽转发到我的AWS实例。到目前为止我已经尝试过的事情:

1) 将
window.location.href
附加到http头并在服务器端(Node.js)打印它:

此技术返回AWS服务器的IP地址xx.xxx.xxx.xxx

2) 将window.location.hostname附加到http头并在服务器端(Node.js)打印它:

此技术返回
ec2 xxx xxx xxx xxx.compute-1.amazonaws.com

我需要返回的是
app.client\u domain.com
,这样我就可以确定是哪个租户提出了请求

杂项

在服务器端,我还尝试注销整个HTTP请求,并搜索类似于
app.some_client_domain.com的任何内容,但没有任何匹配项

有人能帮忙吗


提前谢谢

您是否尝试记录服务器上的所有HTTP头,以查看哪些可用?如果请求中还没有这个,我会感到惊讶。听起来你的“带屏蔽转发”设置可能正在剥离域名?你能更详细地描述一下这个设置吗?嗨,是的,我试着记录整个HTTP请求,但没有我需要的任何东西。设置在GoDaddy中,我在
www.client\u domain.com
中添加了一个名为
app
的子域。因此,每当有人点击app.client\u domain.com
,他们就会被转发到我的AWS实例@MarkBIt,看起来Godaddy基本上将你的应用程序包装在一个框架中,以执行“屏蔽”。对我来说这听起来是个糟糕的主意。这将阻止您的站点看到实际请求的域(正如您遇到的),并且它实际上不提供任何额外的安全性。如果您确实想对最终用户隐藏后端IP地址,同时仍然能够确定用户请求的域,我建议使用Cloudflare。
$.ajax({
    type: "POST",
    url: '/ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com/something',
    headers: {
        'tenant_url': window.location.href
    },
    success: function() {

    }, error: function() {

    }
})
$.ajax({
    type: "POST",
    url: '/ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com/api/something',
    headers: {
        'tenant_url': window.location.hostname
    },
    success: function() {

    }, error: function() {

    }
})