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

时间:2018-05-07 04:54:21

标签: docker ssl haproxy browser-sync

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

然后,我将haproxy连接到浏览器同步后端容器(ustwo/browser-sync)并将浏览器同步连接到我的webapp。似乎有些腐败。 webapp的静态部分显示正确,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链接,8000是监听端口。不同浏览器的控制台上的输出如下(浏览器版本是最新的)。

  • Safari:[Error] Failed to load resource: An SSL error has occurred and a secure connection to the server cannot be made. https://localhost:8001/browser-sync/socket.io/?EIO=3&transport=polling&t=MCur2YU
  • Chrome:GET https://localhost:8001/browser-sync/socket.io/?EIO=3&transport=polling&t=MCuuI9k 0 ()
  • Firefox:没有日志

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

1 个答案:

答案 0 :(得分:0)

我自己解决了这个问题

obj['itemName[]']

在我的情况下,像这样的设置启用了浏览器同步连接。也许重点是,让它通过haproxy,而不是直接通过haproxy,以便正确地解决来自浏览器的SSL请求。

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

我很抱歉发出声音