开发者社区> 问答> 正文

docker容器中无法打开druid监控页面

spring.datasource.druid.use-global-data-source-stat=true spring.datasource.druid.log-abandoned=true spring.datasource.druid.filters=stat,log4j2 spring.datasource.druid.web-stat-filter.enabled=true spring.datasource.druid.web-stat-filter.url-pattern=/* spring.datasource.druid.web-stat-filter.exclusions=.js,.gif,.jpg,.png,.css,.ico,/druid/* spring.datasource.druid.web-stat-filter.session-stat-enable=false spring.datasource.druid.web-stat-filter.session-stat-max-count=1000 spring.datasource.druid.web-stat-filter.principal-session-name=principal spring.datasource.druid.web-stat-filter.principal-cookie-name=principal spring.datasource.druid.web-stat-filter.profile-enable=true spring.datasource.druid.stat-view-servlet.enabled=true spring.datasource.druid.stat-view-servlet.url-pattern=/druid/* spring.datasource.druid.stat-view-servlet.reset-enable=false spring.datasource.druid.aop-patterns=.service.

例如:http://172.21.32.131:8731/druid/api.html

返回:Sorry, you are not permitted to view this page.

原提问者GitHub用户kervin521

展开
收起
山海行 2023-07-05 19:31:13 861 0
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    可能的原因有几种:

    未映射端口
    最常见的原因是在运行Docker容器时没有将Druid监控端口(默认为8082)映射出来。

    可以使用 -p 8082:8082 参数来映射端口。

    防火墙阻止访问
    如果使用了Docker内置的防火墙,需要显式允许8082端口访问。

    可以使用 docker firewall allow 8082/tcp来打开端口。

    Druid配置错误
    如果Druid的monitoring-db.properties配置错误,监控页面也无法访问。

    需要检查username、password等数据库访问配置。

    监控扩展未启用
    必须在Druid配置中启用druid.monitoring.enable属性才能使用监控功能。

    容器内部连接不通
    由于Docker网络隔离机制,容器内部之间实际上无法直接通信。

    连接监控页面需要容器间网络联通。

    为了解决这个问题,主要的解决方案包括:

    正确映射Druid监控端口到主机
    在Docker中打开8082端口
    确认Druid监控配置正确
    在Druid配置中启用监控

    2023-07-30 17:12:13
    赞同 展开评论 打赏
  • 添加一行: spring.datasource.druid.stat-view-servlet.allow= 即可,留空即可,这样子所有 ip 都有权限,但是你可以设置密码登录。

    原回答者GitHub用户ijustyce

    2023-07-06 11:00:41
    赞同 展开评论 打赏
  • 出现 "Sorry, you are not permitted to view this page" 的错误提示可能是由于以下几个原因导致的:

    1. 授权配置不正确:确保您已正确配置了鉴权相关的参数,如用户名和密码。一般来说,您可以在配置文件中添加以下参数来设置登录用户名和密码:
    spring.datasource.druid.stat-view-servlet.login-username=admin
    spring.datasource.druid.stat-view-servlet.login-password=password
    

    请将 admin 替换为您想要的用户名,将 password 替换为您想要的密码。

    1. IP 地址限制:Druid 监控页面默认只允许本地访问。您可以尝试在配置文件中添加以下参数来允许其他 IP 访问:
    spring.datasource.druid.stat-view-servlet.allow=your-ip-address
    

    your-ip-address 替换为您希望允许访问的 IP 地址。

    1. 安全组或防火墙限制:如果您在运行 Docker 容器的主机上使用了安全组或防火墙,请确保已打开容器所需端口(例如 8731)。

    请检查上述配置和限制,并根据需要进行相应的更改以解决该问题。

    2023-07-05 20:43:15
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
应用 Docker 进行持续交付:用技术改变交付路程 立即下载
从Docker到容器服务 立即下载
Docker@Alibaba——超大规模Docker化的实战经验 立即下载