我目前正在努力让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/