更改大约1分钟后,PHP file_get_contents发送到同一端口

问题描述

我有一个PHP脚本,该脚本调用我们在不同指定端口上运行IIS 10的服务器。它是PHP版本7.3.12。我正在通过Windows Server进程通过运行“ php.exe script.php”而不是从浏览器请求运行此脚本。当我在一分钟内更改端口时,它将一直发送到指定的第一个端口。

作为示例,如果我连续运行脚本3次,连续执行这3次迭代:

$result = file_get_contents('https://example.com:6447/token',false,$context);
$result = file_get_contents('https://example.com:6453/token',$context);
$result = file_get_contents('https://example.com:6447/token',$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地址可以使请求直接发送,从而消除了问题

感谢巴尔玛与我一起努力,并向我指出正确的方向。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...