我对网络非常不熟悉,所以请多包涵。
我正在尝试使用 php 中的 soapclient 连接到 Windows 服务,但出现了这个错误。我相信运行该服务的机器正在将其本地名称作为源。
Warning: SoapClient::SoapClient(http://rimage1:55555/RmJobService.svc?xsd=xsd2) [soapclient.soapclient]: failed to open stream: operation failed in /home/blah.php on line 8
我已经为该系统设置了静态 IP,并且可以正常访问端口 80。看来我需要将 ESDL 中的计算机名称更改为其 IP,但如果我尝试从其自身访问机器的 IP,则请求会超时。
我需要做什么才能让机器通过静态 IP 找到自己(rimage1)?
答案1
看起来您的客户端无法解析 rimage1。您应该使用服务器的公共(静态)IP,看看是否可以解决问题。
您说当您尝试从服务器本身访问其 IP 时会超时 - 如果您尝试访问其公共 IP,则防火墙可能不允许流量从服务器传回服务器。尝试使用您认为的 IP 并从外部访问它。
答案2
尝试编辑 hosts 文件 c:\windows\system32\drivers\etc\hosts,并将 rimage1 指向 127.0.0.1。
答案3
您可能需要配置反向 NAT,如果您的路由器支持它,我假设您正在尝试从服务器访问服务器?如果这是真的,反向 NAT 可能是您的问题