【问题标题】:HTTP POST request, subdomain and SSLHTTP POST 请求、子域和 SSL
【发布时间】:2021-03-22 13:34:17
【问题描述】:

CAS 服务器正在尝试通过 HTTP POST 请求向我的 webapp 发送注销请求。但我无法收到该请求。

经过几次测试,问题似乎来自子域/重定向和 SSL 之间的混合。

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


【解决方案1】:

感谢 Steffen,问题已得到解决。这是我(我们)所做的:

我使用 SSLLabs 测试了 SSL 证书。结果是“不完整的证书”。显然浏览器可以解决这个问题,但 CAS 服务器(或 Curl 或 Python)却不是这样。

我必须使用 SSLCertificateChainFile 选项完成 apache ssl.conf 文件。

完成后,我可以使用 curl 和 python 发送一个安全的 POST 请求。注销功能仍然需要做一些小改动,但 SSL 证书是主要问题。现在,终于,一切正常了。

非常感谢 Steffen 的所有帮助(我从没想过我能看到它的结局,你的帮助真是太棒了)!

【讨论】:

    猜你喜欢
    • 2016-09-20
    • 2019-10-11
    • 2012-01-04
    • 1970-01-01
    • 2014-02-19
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多