【发布时间】:2021-03-22 13:34:17
【问题描述】:
CAS 服务器正在尝试通过 HTTP POST 请求向我的 webapp 发送注销请求。但我无法收到该请求。
经过几次测试,问题似乎来自子域/重定向和 SSL 之间的混合。
-
如果我向https://mywebsite.com/theapp/ 发送 POST 请求,应用程序会收到该请求。
-
但是,如果我向https://subdomain.mywebsite.com/theapp/ 发送 POST 请求,我将永远不会收到它。但是,使用 Python 或 Curl,在设置禁用 SSL 验证时,我在子域上收到 POST 请求。
Apache的配置文件好像有什么东西要修改……但我不知道是什么。
有人可以帮我吗?
提前谢谢你。
编辑:
/etc/httpd/conf.d/ssl.conf 文件中的这两部分可能有助于找到问题:
Redirect /subdomain https://subdomain.website.com
和
<VirtualHost _default_:443>
DocumentRoot /var/www/html/subdomain/
ServerName subdomain.website.com
SSLEngine ON
SSLCertificateFile /etc/letsencrypt/live/subdomain.website.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/subdomain.website.com/privkey.pem
</VirtualHost>
【问题讨论】:
-
"... 在 Nginx 的配置文件中..." - 你为子域配置的证书与子域不匹配或者无效。这就是根据这些信息可以说的所有内容。如果这意味着您需要更改证书,因为不包含子域,或者您已经拥有正确的证书但没有为子域配置它,根据问题中的信息是不可能的。
-
感谢您的回答。我知道根据我提供的信息很难找出问题的根源。不幸的是,由于我也在黑暗中拍摄,我真的不知道我可以提供什么类型的信息。关于证书解决方案:它是正确且最新的。如果我可以提供任何其他信息,我会的。同时,如果其他人能想象出导致此问题的可能原因,我将很高兴听到。
-
“它是正确且最新的” - 是什么让您得出这个结论?您是否检查过证书实际上明确涵盖了子域?您是否查看了您认为已配置的证书,或者您是否查看了实际为子域配置的证书?您是否确定在访问子域时使用了您的 nginx,即它是否解析为正确的 IP 地址(检查 IPv4 和 IPv6)?
-
"... 用我的浏览器连接到网站并检查证书..." - 你连接到 mywebsite.com 或 subdomain.mywebsite.com 来检查证书?因为仅检查第一个不会提供有关第二个的信息-根据您的问题,第二个是您遇到的问题。
标签: apache ssl https httprequest