haproxy SSL 终止后的 Browsersync,无法正常工作

Browsersync behind haproxy SSL termination, not working

我完全在本地使用 docker。假设 haproxy 容器正在使用 SSL 终止(自签名)代理到我的 webapp 后端容器。此外,我设置了 dnsmasq 以将 example.com 解析为 127.0.0.1 并将 127.0.0.1 添加到我计算机的 DNS 服务器列表的顶部,以便我可以访问我的 webapp 运行在本地主机上,在我的浏览器中使用 example.com。这非常有效。

然后,我将 haproxy 连接到浏览器同步后端容器 (ustwo/browser-sync) 并将浏览器同步到我的 webapp。似乎有些腐败。 Web 应用程序的静态部分显示正确并且 API 请求响应良好,但没有浏览器同步的东西在工作,输出一些文本(见下文)到我的浏览器的控制台。也许我错误地配置了浏览器同步,但我找不到任何有用的信息。

这是我的 bs-config.js:

module.exports = {
  ui: {
    port: 8002
  },
  files: './dst/**/*',
  proxy: 'http://app:8000',
  port: 8001,
  logLevel: 'debug',
  logConnections: true,
  logFileChanges: true,
  logSnippet: true,
  open: false,
  cors: true,
  reloadOnRestart: true,
  reloadDebounce: 750,
  socket: {
    domain: 'localhost:8001'
  }
}

其中 app 是我的 webapp 的 docker link,8000 是监听端口。不同浏览器控制台的输出如下(浏览器版本是最新的)。

有人可以帮忙吗?或者,我的意思是,这可能吗?

我自己解决了这个问题

  socket: {
    domain: 'example.com'
  }

在我的例子中,这样的设置可以启用浏览器同步连接。也许重点是让它通过 haproxy,而不是直接通过,以便正确解析来自浏览器的 SSL 请求。

但后来我遇到了新的问题;使用 504 和 CSS 注入的自动重新加载超时不起作用。经过一些检查,我意识到原因出在我的 webapp 方面。当更新静态文件时,我错误地配置了文件观察器以重新启动网络服务器(这应该触发 浏览器同步重新加载,而不是网络服务器)。

吵吵了真的很抱歉