PHP file_get_contents 更改约 1 分钟后发送到同一端口
PHP file_get_contents sends to same port when changed with about 1 minute
我有一个 PHP 脚本可以在不同的指定端口上调用我们的服务器 运行ning IIS 10。它是 PHP 版本 7.3.12。我 运行 通过执行“php.exe script.php”而不是来自浏览器请求,从一个 shelled out windows 进程中 运行 宁这个脚本。当我在大约一分钟内更改端口时,它会一直发送到指定的第一个端口。
例如,如果我 运行 脚本连续 3 次执行这 3 次迭代:
$result = file_get_contents('https://example.com:6447/token', false, $context);
$result = file_get_contents('https://example.com:6453/token', false, $context);
$result = file_get_contents('https://example.com:6447/token', false, $context);
查看日志,都记录在6447下。
我用邮递员尝试了完全相同的事情,它按预期工作。第一个和第三个登录在 6447 以下,第二个登录在 6453 以下。
然后我尝试复制脚本并 运行 将它们分开,但它仍然发布到错误的端口。
我需要做什么来关闭连接什么的。我被难住了。
好的,我们解决了。以下是注释:
- 脚本调用 DNS FQDN“example.com”。在“域控制器”内部,DNS 将其翻译为“xxx.xxx.100.10”
- xxx.xxx.100.10 在 Citrix Netscaler 上。旨在在开发期间将请求汇集到 IIS 服务器 IP 地址并减轻攻击面,直到 Windows 防火墙设置完成。
- 保留该设置是因为当时没有发生任何问题。
- 即使新端口“过早”来自同一源,Netscaler 也保持源记录和端口不变,做得太好了
- 更改内部 DNS 记录以将“example.com”指向 IIS 服务器 IP 地址使请求直接进行,从而消除了问题
感谢 Barmar 与我一起解决这个问题并为我指明了正确的方向。
我有一个 PHP 脚本可以在不同的指定端口上调用我们的服务器 运行ning IIS 10。它是 PHP 版本 7.3.12。我 运行 通过执行“php.exe script.php”而不是来自浏览器请求,从一个 shelled out windows 进程中 运行 宁这个脚本。当我在大约一分钟内更改端口时,它会一直发送到指定的第一个端口。
例如,如果我 运行 脚本连续 3 次执行这 3 次迭代:
$result = file_get_contents('https://example.com:6447/token', false, $context);
$result = file_get_contents('https://example.com:6453/token', false, $context);
$result = file_get_contents('https://example.com:6447/token', false, $context);
查看日志,都记录在6447下。
我用邮递员尝试了完全相同的事情,它按预期工作。第一个和第三个登录在 6447 以下,第二个登录在 6453 以下。
然后我尝试复制脚本并 运行 将它们分开,但它仍然发布到错误的端口。
我需要做什么来关闭连接什么的。我被难住了。
好的,我们解决了。以下是注释:
- 脚本调用 DNS FQDN“example.com”。在“域控制器”内部,DNS 将其翻译为“xxx.xxx.100.10”
- xxx.xxx.100.10 在 Citrix Netscaler 上。旨在在开发期间将请求汇集到 IIS 服务器 IP 地址并减轻攻击面,直到 Windows 防火墙设置完成。
- 保留该设置是因为当时没有发生任何问题。
- 即使新端口“过早”来自同一源,Netscaler 也保持源记录和端口不变,做得太好了
- 更改内部 DNS 记录以将“example.com”指向 IIS 服务器 IP 地址使请求直接进行,从而消除了问题
感谢 Barmar 与我一起解决这个问题并为我指明了正确的方向。