Docker:如何通过https强制graylog web界面?

时间:2017-03-21 11:04:29

标签: ssl docker https graylog2

我目前正努力让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。请验证服务器是否正确   健康,工作正常。

     

如果可以,您将自动重定向到上一页   连接到服务器。

     

这是我们从服务器收到的最后一个回复:

     

错误讯息       不良请求原始请求       获取http://test.myserver.com/api/system/sessions状态代码       undefined完整的错误消息       错误:请求已终止       可能的原因:网络脱机,Access-Control-Allow-Origin不允许Origin,页面正在卸载等。

当我转到邮件中的URL时,我收到了回复:{" session_id":null," username":null," is_valid":假} 这与我在没有https的情况下运行Graylog时得到的答案相同。

在来自graylog的docker日志文件中没有提到。 docker ps:

  

集装箱ID图像命令
  创建状态端口
                                    NAMES 56c9b3b4fc74 graylog2 / server" /docker-entrypoint.s"五   分钟前5分钟9000 / tcp,12900 / tcp
  graylog-PROD

使用选项-p 9000:9000运行docker时,所有工作正常,没有https,但只要我强制它超过https,我就会收到此错误。

任何人都知道我在这里做错了什么?

非常感谢!

1 个答案:

答案 0 :(得分:0)

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