我有一个Spring-boot web应用程序,它使用https://samltest.id/提供的SAML身份验证。
它在localhost上工作得很好,但现在我试图将它放在有nginx的服务器上。Ngnix的配置使得任何http请求都被重定向到https,并且https://myserver.company.com/myapp/被发送到http://local_ip:local_port/。
<md:AssertionConsumerService Location="http://myserver.company.com:80/saml/SSO"
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" isDefault="true" index="0"/>
<md:AssertionConsumerService Location="http://myserver.company.com:80/saml/SSO"
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" index="1"/>
请注意,URL是基于HTTP的。
经过大量的Google搜索,我尝试了以下方法:我修改了samlprocessingfilter
配置,使filterprocessesurl
属性为“/myapp/saml/sso”
而不是默认值“/saml/sso”
。
现在metadata.xml包含:
<md:AssertionConsumerService Location="http://myserver.company.com:80/myApp/saml/SSO"
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" isDefault="true" index="0"/>
<md:AssertionConsumerService Location="http://myserver.company.com:80/myApp/saml/SSO"
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" index="1"/>
现在,在成功登录后,我会像预期的那样被重定向到https://myserver.company.com/myapp/SAML/sso,但是我从应用程序中得到一个401,其中包含消息“Authentication failed:incommed SAML message is invalid”,并且在应用程序日志中有“org.opensaml.common.samlException:Unsupported Request”。
经过几次尝试,我找到了解决办法。不需要修改SamlProcessingFilter
或上下文根。关键是使用SamlContextProviderLB
而不是手册“高级配置”一章中所述的SamlContextProviderImpl
。另外,在我的问题中已经描述的EntityBaseURL
更改也是必要的(手册中也有)。
我想在代理之后提供Restful API,但我不知道如何将请求重定向到Spring Boot应用程序,以便可以使用域名访问它。 我的Spring Boot应用程序使用spring-boot-starter-tomcat运行,应用程序部署良好,我可以在服务器上使用java-jar myApplication.jar部署它。 该应用程序还可以通过写入远程访问https://1.2.3.4:8090在浏
我在docker容器中运行spring boot micro serivce,作为kubernetes吊舱运行。 当spring启动应用程序在本地运行时,swagger UI运行良好。 当部署到我们的kubernetes集群时,我们使用nginx将请求代理到pod。 我正在努力弄清楚如何让昂首阔步的用户界面与nginx一起工作。 到目前为止我尝试过的事情 在我的“ssl.conf”中,我尝试添加以
前言 预处理 简述 打印出预处理之后的结果 在命令行定义宏 编译(翻译) 简述 语法检查 编译器优化 生成汇编语言文件 汇编 简述 生成目标代码 ELF 文件初次接触 ELF 文件的结构 三种不同类型 ELF 文件比较 ELF 主体:节区 汇编语言文件中的节区表述 链接 简述 可执行文件的段:节区重排 链接背后的故事 用 ld 完成链接过程 C++ 构造与析构:crtbegin.o 和 crten
防火墙:终止https,添加“x-forwarded-proto:https”,通过http转发到Apache Apache:通过ajp转发到Tomcat Tomcat:通过ajp-connector接收请求 我们已经将RemoteIpValve添加到Tomcat的server.xml中: 如果我们跳过Apache,直接从防火墙转到使用常规HTTP连接器的Tomcat,它就可以工作。在这种情况下,
问题内容: 是否可以在使用NTLM身份验证的HTTP代理后面运行?如果是,如何设置服务器的地址和端口,用户名和密码? 问题答案: 我通过以下方式解决了此问题(操作系统:Windows XP SP3): 1. 下载CNTLM安装程序并运行它。 2. 在cntlm.ini中找到并填写这些字段。 不要填写该字段,在文本文件中存储未加密的密码永远不是一个好主意。 3. 打开控制台,然后键入以下命令以生成密