我目前正努力让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,我就会收到此错误。
任何人都知道我在这里做错了什么?
非常感谢!
答案 0 :(得分:0)
您是否尝试过GRAYLOG_WEB_ENDPOINT_URI =“https://test.myserver.com/api”?