如何在 sails.js 中获取当前域名地址

2023-11-23

我试图使用获取当前网址sails.js.

我尝试了以下方法:

req.param('host') and req.param('X-Forwarded-Protocol') 

返回未定义。

req.headers.host

返回本地主机。但我的域不是本地主机。

怎样才能得到呢??


只是为了回答这个问题:没有可靠的跨平台方法来自动检测正在运行的 Sails 应用程序(或任何其他 Node 应用程序)的外部 URL。这getBaseUrl()下面描述的方法结合使用用户提供的和默认配置值,以最好地猜测应用程序的 URL。在关键任务情况下,建议您预先确定 URL 并将其保存在自定义的 URL 中。依赖于环境的配置值 (e.g. sails.config.appUrl)您可以在应用程序的其他地方引用。

如果您使用的是 Sails >= v0.10.x,则可以使用sails.getBaseurl()获取为您的应用程序提供服务的完整协议、域和端口。从 Sails v0.10.0-rc6 开始,这还会检查sails.config.proxyHost and sails.config.proxyPort,您可以在您的配置文件之一中手动设置(例如config/local.js)如果您的应用程序通过代理提供服务(例如,如果它部署在 Modulus.io 上,或通过 Nginx 服务器代理)。

Sails v0.9.x 没有sails.getBaseurl,但您始终可以尝试复制代码并自己实现,可能是在service:

获取BaseUrl

function getBaseurl() {
  var usingSSL = sails.config.ssl && sails.config.ssl.key && sails.config.ssl.cert;
  var port = sails.config.proxyPort || sails.config.port;
  var localAppURL =
    (usingSSL ? 'https' : 'http') + '://' +
    (sails.getHost() || 'localhost') +
    (port == 80 || port == 443 ? '' : ':' + port);

  return localAppURL;
};

你会注意到这依赖于sails.getHost(),看起来像:

function getHost() {
  var hasExplicitHost = sails.config.hooks.http && sails.config.explicitHost;
  var host = sails.config.proxyHost || hasExplicitHost || sails.config.host;
  return host;
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 sails.js 中获取当前域名地址 的相关文章

随机推荐

  • 将 LINQ-to-SQL 谓词组合成单个谓词

    之前的一个问题 递归地 将 LINQ 谓词组合成单个谓词 与此类似 但我实际上问了错误的问题 那里的解决方案满足了所提出的问题 但实际上并不是我需要的 但它们是不同的 诚实的 给定以下搜索文本 keyword1 keyword2 keywo
  • 将行旋转为列 Firebird 2.5

    序列 table1 id Description 1 Proj x 2 Settlers 3 Bank 4 Newiest table2 id table1Id value alternate value 1 1 12 null 1 4 6
  • 从您的网站中删除 WWW 前缀

    当作为 URL 的一部分输入 www 前缀时 Stack Overflow 和其他网站 如何删除它 是重定向 重写还是其他什么 更新 我特别想知道 IIS 6 的上下文 在 Apache 上 它看起来像这样 在 htaccess 文件内 R
  • 在三星 Galaxy 设备上同时访问前置和后置摄像头

    我知道这个问题以前曾被问过 但已经过去很长时间了 再次问这个问题是为了收集任何新的技巧 想法 方法 我需要同时访问前置摄像头和后置摄像头 到目前为止 我已经尝试使用 android 相机 API 实现 双摄像头 Jens 设计 和camer
  • 高级比较和交换 (CAS) 功能?

    我想记录哪些高级 即 C 不是内联汇编器 函数或宏可用于比较和交换 CAS 原子原语 例如 x86 上的 WIN32 有一系列函数 InterlockedCompareExchange in the lt intrin h gt heade
  • Elastic Beanstalk 自定义 AMI 看不到环境变量

    由于一些大型软件包的要求 我正在为 Elastic Beanstalk 使用自定义 AMI 当我通过 SSH 访问 EC2 实例时 我的应用程序无法使用任何环境变量 在 Elastic Beanstalk Web 控制台设置中指定 我在生产
  • 获取异步方法主体中的当前任务实例

    如果我有一个像这样的异步方法体 public async Task GetSomething await SendText hi await SendImage bla bmp 当等待开始时 如何在将任务对象返回给用户之前获取任务对象 ie
  • React Fontawesome 没有 free-brands-svg-icons,因此无法显示社交媒体图标

    我可以在 React 网页上使用社交媒体图标吗 import library from fortawesome fontawesome svg core import FontAwesomeIcon from fortawesome rea
  • 悬停在另一个元素上时隐藏元素

    我知道可以在JavaScript 但是我正在寻找解决方案CSS 我有三个div div hide 默认应该是可见的 show 应该是隐藏的 当我将鼠标悬停在 main 上时 hide 应该隐藏 show 应该可见 div show 工作正常
  • 是否有浏览器支持输入元素的 form 属性?

    HTML5 规范允许与形式相关的元素参考他们的联系
  • Spring Boot应用程序启动后立即关闭

    我目前正在开发一个包含 Spring 框架的项目 一切都按方面进行 但有一个问题 当我尝试在笔记本电脑上启动应用程序时 它在启动后立即关闭 它在其他所有机器上都可以工作 所以这个问题只发生在我的笔记本电脑上 也许您知道什么会导致这个问题 我
  • 如何重新安装已安装的 Eclipse 插件?

    如何将 Eclipse 插件从一个 Eclipse 安装 删除 或 复制 到另一个安装 例如 我安装了两个 eclipse 其中一个安装了一个插件 但我没有安装程序 也不容易在线获得 是否可以在我的其他版本的 eclipse 上安装此插件
  • 在浏览器中显示word/pdf/excel等文件。 (ASP.NET、C#.NET 2008)

    我有一个需要在浏览器中显示 Pdf Word 文档 任何版本 或 Excel 的要求 类似于GMAIL的功能 我怎样才能实现这个目标 我正在使用 Asp net 代码隐藏为 C 申请时间是2008年 Try 如何使用 ASP NET 和 V
  • 如何在使用相对 URL 时更改 http/https 协议

    协议相关 URLaren t我在寻找什么 我正在寻找一种绝对指定协议 http 与 https 同时保持 url 相对主机名的方法 给定一个相对 URL 例如 SearchForStuff 我希望能够指定不同的协议 https 与 http
  • 如何在 Linux 上使用 GCC 编译 C 和 Gtk+?

    我搜索了又搜索 但没有得到我真正想要的信息 有人可以尽可能完整地 从根本上解释一下在 Linux 上使用 GCC 用 C 语言编写时 Gtk 代码是如何编译的吗 有些东西像反引号 c99 和 o 文件我根本不理解 我也非常感谢任何学习 Gt
  • RealityKit - 为 ModelEntity 的不透明度设置动画?

    通过设置材质的颜色model的财产ModelEntity 我可以改变对象的不透明度 alpha 但如何将其动画化呢 我的目标是使对象具有完全不透明度的动画 然后让它们淡入设定的不透明度 例如 50 With SCNAction fadeOp
  • R 中 igraph 网络的输出 shapefile

    你好 我在 R 中有一个使用 igraph 库的网络 Vertices 616 Edges 6270 Directed TRUE No graph attributes Vertex attributes name Lat Lon Edge
  • 为什么 JavaScript 中的匿名函数有名字?

    我正在读一本很棒的书 名为 JavaScript Ninja 的秘密 作者是 John Resig 和 Bear Bibeaoult 3 2章中给出了一个例子 var canFly function return true 然后它说 创建一
  • 按创建顺序对哈希表进行排序

    这类似于如何保持哈希表中元素的顺序 NET 除外 有没有Hashtable or Dictionary在 NET 中 允许您访问它的 Index条目的属性是否按照添加到集合中的顺序排列 A NameValueCollection可以通过索引
  • 如何在 sails.js 中获取当前域名地址

    我试图使用获取当前网址sails js 我尝试了以下方法 req param host and req param X Forwarded Protocol 返回未定义 req headers host 返回本地主机 但我的域不是本地主机