首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Docker容器中Tomcat9/JDK8的Java Authenticator“服务器重定向次数过多”

Java Authenticator是Java中的一个类,用于处理HTTP身份验证。它提供了一种机制,允许Java应用程序与需要身份验证的Web服务器进行交互。

在Docker容器中使用Tomcat9和JDK8时,如果Java Authenticator出现"服务器重定向次数过多"的错误,这通常是由于身份验证过程中的循环重定向引起的。这种情况可能发生在以下情况下:

  1. 身份验证配置错误:请确保在Tomcat的配置文件中正确配置了身份验证参数,例如用户名、密码、身份验证类型等。
  2. 重定向配置错误:检查Tomcat的配置文件,确保没有配置错误的重定向规则,导致循环重定向。
  3. 代理服务器配置错误:如果在Docker容器中使用了代理服务器,确保代理服务器的配置正确,不会导致循环重定向。

解决这个问题的方法包括:

  1. 检查身份验证配置:确保身份验证参数正确配置,并与Web服务器的要求相匹配。
  2. 检查重定向配置:检查Tomcat的配置文件,确保没有错误的重定向规则。
  3. 检查代理服务器配置:如果使用了代理服务器,请确保代理服务器的配置正确。

如果以上方法都无法解决问题,可以尝试以下措施:

  1. 清除浏览器缓存:有时浏览器缓存可能导致循环重定向问题。清除浏览器缓存后,重新尝试访问。
  2. 更新Tomcat和JDK版本:有时旧版本的Tomcat或JDK可能存在已知的问题。尝试升级到最新版本,看是否能够解决问题。
  3. 检查网络连接:确保网络连接正常,没有任何问题导致循环重定向。

对于Docker容器中Tomcat9/JDK8的Java Authenticator“服务器重定向次数过多”错误,腾讯云提供了一系列云原生产品和解决方案,可以帮助您构建和管理容器化应用。您可以使用腾讯云容器服务(Tencent Kubernetes Engine,TKE)来部署和管理容器,使用腾讯云负载均衡(CLB)来实现流量分发,使用腾讯云云数据库MySQL来存储应用数据。您可以通过以下链接了解更多关于这些产品的信息:

  1. 腾讯云容器服务(TKE):https://cloud.tencent.com/product/tke
  2. 腾讯云负载均衡(CLB):https://cloud.tencent.com/product/clb
  3. 腾讯云云数据库MySQL:https://cloud.tencent.com/product/cdb_mysql

请注意,以上链接仅供参考,具体的产品选择应根据您的实际需求和情况进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

超详细Fastjson

/webapps/ 5、进入容器查看是否复制成功 docker exec -i -t tomcat /bin/bash 目标是一个web应用,访问返回“Hello world”。...至此dockerfastjson反序列化漏洞环境搭建成功 方法二:本地搭建tomcat 1、下载一个tomcat9 https://mirrors.tuna.tsinghua.edu.cn/apache...Ps:此步是为了接收LDAP服务重定向请求,需要在payload目录下开启此web服务,这样才可以访问到payload文件 第二个,服务器使用marshalsec开启LDAP服务监听: java -cp...Ps:使用marshalsec工具快捷开启LDAP服务,借助LDAP服务将LDAP reference result 重定向到web服务器 第三个,nc监听 nc -lvp 1888 Ps:这是最终得到.../etc/profile,当时通过source /etc/profile命令使该文件生效,echo $JAVA_HOME时也没有问题,但是重启容器以后就又不生效了 解决:在/root/.bashrc文件添加一句

8.8K10
  • Docker-容器数据卷与DockerFile解析(三)

    卷就是目录或文件,存在于一个或多个容器,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据特性: 卷设计目的就是数据持久化...,完全独立于容器生存周期,因此Docker不会在容器删除时删除其挂载数据卷 特点: 数据卷可在容器之间共享或重用数据 卷更改可以直接生效 数据卷更改不会包含在镜像更新...(5)执行dockerfile下一条指令直到所有指令都执行完成 总结 从应用软件角度来看,Dockerfile、Docker镜像与Docker容器分别代表软件三个不同阶段, * Dockerfile...会被 docker run 之后参数替换 ENTRYPOINT:docker run 之后参数会被当做参数传递给 ENTRYPOINT,之后形成新命令组合 自定义镜像Tomcat9 mkdir...c.txt拷贝到容器/usr/local/路径下 COPY c.txt /usr/local/cincontainer.txt #把java与tomcat添加到容器 ADD jdk-u171-linux-x64

    1.6K20

    DockerFile解析

    (4)docker再基于刚提交镜像运行一个新容器 (5)执行dockerfile下一条指令直到所有指令都执行完成 小总结 从应用软件角度来看,Dockerfile、Docker镜像与Docker...Dockerfile 可以有多个 CMD 指令,但只有最后一个生效,CMD 会被 docker run 之后参数替换 ENTRYPOINT : 3. 指定一个容器启动时要运行命令 4....案例 Base镜像(scratch) Docker Hub 99% 镜像都是通过在 base 镜像安装和配置需要软件构建出来 ?...CMD/ENTRYPOINT 镜像案例 都是指定一个容器启动时要运行命令 CMD Dockerfile 可以有多个 CMD 指令,但只有最后一个生效,CMD 会被 docker run 之后参数替换...> #把宿主机当前上下文c.txt拷贝到容器/usr/local/路径下 COPY c.txt /usr/local/cincontainer.txt #把java与tomcat添加到容器 ADD

    68520

    Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十六):容器部署项目

    容器部署项目 这一章我们引入docker,采用docker容器方式部署我们项目。...Jdk8 环境 为基础镜像,如果镜像不是本地会从 DockerHub 进行下载 VOLUME ,VOLUME 指向了一个/tmp目录,由于 Spring Boot 使用内置Tomcat容器,Tomcat...这个命令效果是:在宿主机/var/lib/docker目录下创建一个临时文件并把它链接到容器/tmp目录 ADD ,拷贝文件并且重命名 ENTRYPOINT ,为了缩短 Tomcat 启动时间...,添加java.security.egd系统属性指向/dev/urandom作为 ENTRYPOINT 上传项目 将项目 kitty-monitor 拷贝服务器,如我这里上传到 /usr/kitty...docker run -p 8000:8000 -d kitty/kitty-monitor 说明: -p 8000:8000 将主机端口映射到容器端口 -d 启用后台进程运行程序 通过以下命令,可以查看运行容器

    60220

    Docker---DockerFile学习

    执行类似docker commit操作提交一个新镜像层 docker再基于刚提交镜像运行一个新容器 执行dockerfile下一条指令直到所有指令执行完成 ---- 小总结 从应用软件角度来看...镜像案例,探究二者区别 相同点:都是指定一个容器启动时需要运行命令 CMD Dockerfile可以有多个CMD命令,但只有最后一个生效,CMD会被docker run之后参数替换 查看官网tomcat...Dockerfile文件 查看可知,tomcat镜像创建容器运行后,tomcat服务器直接运行,是因为最后CMD命令[“catalina.sh”,“run”] 正常直接启动tomcat容器,...tomcat服务器也会运行,那如果我们在docker run后面追加命令,覆盖原本Dcokerfile文件最后CMD命令,tomcat还会启动吗?...其实有点像Java里父类super方法。

    77920

    DockerFile解析

    (5)执行dockerfile下一条指令直到所有指令都执行完成 小总结 从应用软件角度来看,Dockerfile、Docker镜像与Docker容器分别代表软件三个不同阶段, Dockerfile...将从构建上下文目录 文件/目录复制到新一层镜像内 位置 VOLUME:容器数据卷,用于数据保存和持久化工作 CMD: 指定一个容器启动时要运行命令 Dockerfile...案例 Base镜像(scratch) Docker Hub 99% 镜像都是通过在 base 镜像安装和配置需要软件构建出来 docker rm -f $(docker ps -q)...CMD/ENTRYPOINT 镜像案例 都是指定一个容器启动时要运行命令 CMD Dockerfile 可以有多个 CMD 指令,但只有最后一个生效,CMD 会被 docker run 之后参数替换...把java与tomcat添加到容器 ADD jdk-8u171-linux-x64.tar.gz /usr/local/ ADD apache-tomcat-9.0.8.tar.gz /usr/local

    51800

    这就是你日日夜夜想要docker!!!---------Dockerfile构建nginx、Tomcat、MySQL镜像

    /usr/java/jdk1.8.0_201-amd64 ENV CLASSPATH $JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar ENV PATH $.../tomcat9/bin/catalina.sh","run"] [root@docker tomcat]# docker build -t tomcat:test ....2、CMD是开启容器时,要执行指令,设置容器启动后默认执行命令及其参数,但 CMD 能够被 docker run 后面跟命令行参数替换 3、基于Dockerfile内有CMD或者ENTRYPOINT...创建镜像时,docker run 后面就不要加指令(/bin/bash)了,会覆盖掉Dockerfile指令或者语法报错 构建Dockerfile MySQL镜像 vim Dockerfile #编写.../usr/lib/systemd/system/目录下面,便于systemctl管理 EXPOSE 3306 #开放容器端口 RUN echo -e "#!

    50442

    Ubuntu 18.04从零开始配置JDK+Tomcat+IDEA环境到使用IDEA开发Web应用和Servlet

    Tomcat9.0.12安装配置 2.1 下载(下载链接) 我下载Tomcat9,这个可以跟JDK8兼容,然后往下拉看到图示内容,点击下载 2.2 解压 #后面的文件名视你下载文件名而定 1....tomcat9 1.sudo mv apache-tomcat-9.0.12 /opt/tomcat9 2.4 更改文件夹权限(鉴于电脑都是自己用,所以直接把权限改成777也没事,根据你情况而定)...:${JAVA_HOME}/bin:$PATH export TOMCAT_HOME=/opt/tomcat9 2.6 启动tomcat服务器并检测是否配置成功 #启动,打开startup.sh这个文件.../opt/tomcat9/bin/startup.sh 当出现下方内容: 代表tomcat服务器启动成功,我们在浏览器输入地址  http://localhost:8080/ ,当浏览器出现下方内容...5.2 部署servlet 在WEB-INF目录下web.xml文件标签添加如下内容: <!

    59810

    Docker容器中部署Web应用

    本文直接讲解如何在Docker容器实战部署一个Web应用程序,关于Docker相关概念和如何安装Docker请参考相关资料完成。...第一步:工具准备 演示如何在Docker容器中部署一个Java Web应用程序,需要准备软件工具包括:jre,tomcat和webapp应用。...需要在Dockerfile完成如下几项工作: (1)安装jre (2)安装tomcat,并完成在tomcat中部署web应用基本配置(为实现此功能:在制作镜像之前直接先完成tomcat基础配置,然后直接拷贝到镜像即可...webapp通过数据卷挂在到容器中进行部署,不需要拷贝到镜像。...小技巧:启动容器时带参数-t -i和不带参数区别:带参数-t -i时可以通过Ctrl+C停止容器运行,不带参数-t -i启动时,停止容器只能通过命令:$sudo docker stop $containerid

    2.4K10

    Docker+Nginx打包部署前后端分离项目

    4.2 编写Dockerfile 4.3 构建Docker镜像 4.4 查看构建镜像 4.5 运行容器 4.6 运行测试 1、问题描述 最近做了一个前后端分离通用权限管理系统,今天想用自己服务器部署下...这里上传方法较多,不过多赘述了。...我开始不想用这个,是直接将jar包在服务器上部署,觉得小项目没必要用docker。...但是由于我以前搭建个人博客时候装jdk11,这个项目使用jdk8开发,环境不一致,docker环境隔离机制非常适合现在这种情况,关于docker使用场景请看我docker专栏,这里不再赘述。...目录下创建了一个临时文件并链接到容器/tmp VOLUME /tmp # 将jar包添加到容器并更名为guigu_docker.jar ADD service-system.jar guigu_docker.jar

    2K50

    tomcat整体架构

    Server:服务器意思,代表整个tomcat服务器,一个tomcat只有一个Server; Service:Server一个逻辑功能层, 一个Server可以包含多个Service; Connector...这个在配置文件也得到很好体现(port=“8005” shutdown="SHUTDOWN"是在8005端口监听到"SHUTDOWN"命令,服务器就会停止)。...在conf/server.xml文件,可以看到Service组件包含了Connector组件和Engine组件(前面有提过,Engine就是一种容器),即Service相当于Connector和Engine...Connector使用ProtocolHandler来处理请求,不同ProtocolHandler代表不同连接类型,比如:Http11Protocol使用是普通Socket来连接tomcat9...七、总结 差不多就是这样,大概了解总体结构,当然这里面没有过多提及除Connector和Container外其他结构,如果感兴趣,可以自行学习。

    62420

    6. Dockerfile详解

    执行类似docker commit操作提交一个新镜像层 4. docker在基于刚提交镜像运行一个新容器 5...., 一个落脚点 没有指定, 进入到容器根目录 ENV: 用来在构建镜像过程设置环境变量 这个环境你变量可以在后续任务Run指令中使用, 这就如同在命令前面指定了环境变量前缀一样,...ADD有拷贝并解压含义 例如: VOLUME: 容器数据卷, 用于数据保存和持久化 CMD: 指定一个容器启动时需要运行命令, Dockerfile可以有多个CMD...Dockerfile案例 2.1 Base镜像   Docker hub99%镜像都是通过在base镜像安装和配置需要软件构建出来.   ...在/docker/tomcat9文件夹下创建一个dockerfile文件 FROM docker.io/centos # 设置dockerfile作者和邮箱 MAINTAINER lxl < 234

    1.2K10

    ARM架构下Docker环境,OpenJDK官方没有8版本镜像,如何完美解决?

    对现有的Java应用,之前一直运行在x86处理器环境下,编译和运行都是JDK8,如今在树莓派Docker环境运行(或者其他ARM架构电脑,例如华为泰山服务器),需要JDK8镜像作为基础镜像。...一文,已经确定了OpenJDK官方并未提供8版本Docker镜像,因此,原有的Java应用,如果是基于JDK8编译和运行,现在从X86架构转战到ARM架构Docker环境下,就会面临没有JDK基础镜像问题...JDK11镜像 使用JDK11镜像,意味着Java工程所用JDK从8升级到11,这个操作和Docker关系不大,您只要验证应用在升级JDK后是否能运行正常即可,本文就不赘述了,我把自己在升级过程遇到问题列出来...,帮您跳过小坑: 从JDK9开始引入了module概念,JDK8自带一些jar包不再默认提供,您需要在应用pom.xml添加以下依赖,否则SpringBoot启动时会因为某些lass找不到导致启动失败...,如果您正在使用ARM服务器Docker+Java开发,希望此文能给您一些参考。

    3.9K41
    领券