我目前正在努力让Graylog在Docker环境中通过https工作。我正在使用jwilder / nginx-proxy,并且已经安装了证书。
当我跑步时:

docker run --name=graylog-prod --link mongo-prod:mongo --link elastic-prod:elasticsearch -e VIRTUAL_PORT=9000 -e VIRTUAL_HOST=test.myserver.com -e GRAYLOG_WEB_ENDPOINT_URI="http://test.myserver.com/api" -e GRAYLOG_PASSWORD_SECRET=somepasswordpepper -e GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918 -d graylog2/server


我收到以下错误:


  我们在连接到运行的Graylog服务器时遇到问题
  在http://test.myserver.com:9000/api上。请验证服务器是否
  健康并正常工作。
  
  一旦我们可以,您将被自动重定向到上一页
  连接到服务器。
  
  这是我们从服务器收到的最后一个响应:
  
  错误信息
      错误的请求原始请求
      GET http://test.myserver.com/api/system/sessions状态码
      未定义的完整错误消息
      错误:请求已终止
      可能的原因:网络处于脱机状态,Access-Control-Allow-Origin不允许Origin,页面正在卸载等。


当我转到消息中的URL时,我得到答复:{“ session_id”:null,“ username”:null,“ is_valid”:false}
这是在没有https的情况下运行Graylog时得到的答复。

在Graylog中的docker日志文件中没有提及。
码头工人ps:


  容器ID图像命令
  创建的状态端口
                                    名称56c9b3b4fc74 graylog2 /服务器“ /docker-entrypoint.s” 5
  分钟前上5分钟9000 / tcp,12900 / tcp
  Graylog产品


当运行带有-p 9000:9000选项的docker时,如果没有https,一切都可以正常工作,但是当我强制它通过https时,我会收到此错误。

有人知道我在做什么错吗?

非常感谢!

最佳答案

您是否尝试了GRAYLOG_WEB_ENDPOINT_URI =“ https://test.myserver.com/api”?

关于ssl - Docker:如何通过https强制Graylog Web界面?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42925264/

10-12 07:26