PHP 重定向 - (SNI) 错误定向请求客户端需要一个新的连接 - 主机与服务器名称指示不匹配

标签 php ios redirect sni

我正在将客户重定向到另一个域 - 在收到 Paypal 付款后。 我正在使用这个 PHP 代码:

<?php
header("Location: https://www.domain_example_2.com");
?>

它似乎在大多数设备上都能正常工作。 但是 iPhone 上的一些人报告了这个错误:

错误定向的请求,因为请求的主机与用于此连接的服务器名称指示 (SNI) 不匹配,客户端需要为此请求建立新连接

接收 Paypal 交易确认PDT的域是 www.domain_example_1.com 它获取详细信息然后将用户发送到另一个域 www.domain_example_2.com 登录。

它在其他设备上工作正常。

域在同一个多 SANS 下托管在 godaddy 上。


1) 是什么导致了这个错误?

2) 最简单的解决方案是什么?


我已经阅读了一些关于将多 SANS 作为一个问题并为域获取单独证书的想法。还要在 Godaddy 方面更改设置。

如果是 PHP 重定向 - 是否有其他方法不会触发此错误?

我想使用一个域来处理 PDT 交易 - 我希望在交易后将客户发送到多个其他域。

我不想拥有多个 paypal 帐户 - 因为 paypal 只允许一个 PDT URL。

我不认为这个错误与 Paypal 有任何关系。 但似乎只影响 iphone。

最佳答案

我还阅读了一些问题,因为问题似乎只有在满足多个条件时才会发生,因此无法说出是哪个问题造成的。但我会说

1) what is causing this error?

你在 Paypal 之前的最后一个请求的连接持久性

2) what is the easiest solution?

不要保持这种联系。如果您知道在进入 Paypal 之前总是调用哪个页面,您可以添加一个请求关闭连接的标题,例如:

header("Connection: Close");

或者尝试发送带有代码的 JavaScript,强制浏览器重定向而不是 302 位置。只有当 User-Agent 是 iPhone 时才能发送此 JavaScript,并为其他人保留正常的 302 Location。注意我没有尝试,我宁愿关闭连接也不愿这样做。

关于PHP 重定向 - (SNI) 错误定向请求客户端需要一个新的连接 - 主机与服务器名称指示不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58848050/

相关文章:

php - 使用 iOS 设备连接到 sql 或 oracle 服务器

javascript - Highcharts xaxis 偏离了几个小时

C 重定向终端描述符

php Header 重定向后重定向问题

javascript - 如何将包含(图像标签和一些文本)的 HTML 代码或数据转换为图像以供下载

php - 如何解决执行查询时的数据库锁定问题

ios - 适用于 iOS 的 Google map SDK : texts/labels (street names) in map refreshing when returning from another ViewController

objective-c - 如何从 app delegate 调用 Facebook

ios - 在 macOS Catalina(Catalyst 应用程序)上未收到静默推送通知(背景)

jquery - anchor 标记直接链接需要覆盖