使用卷曲时,Nginx端口转发不触发页码

时间:2016-02-03 09:05:17

标签: php nginx vagrant

我已在我的计算机上设置了端口转发,以便将任何localhost:8181流量转发到我的计算机上运行的VM上的端点。

为了这个问题,端点只运行以下PHP代码

<?php
    error_log('Loaded');
?>

现在,如果我转到浏览器并点击localhost:8181,代码将会运行,我会在错误日志中看到“已加载”。

但是,如果我在终端中使用curl卷曲端点,我可以看到我使用curl -v重定向到页面但是'Loaded'永远不会记录错误,这意味着PHP代码不是触发。

原因是什么,是否有解决方案?

1 个答案:

答案 0 :(得分:1)

如果您的服务器进行了重定向,那么您正在寻找的curl选项为-L

来自男人

  

-L, - location

     

(HTTP / HTTPS)如果服务器报告所请求的页面已移至其他位置(使用Location:标题表示)   和3XX响应          代码),此选项将使curl重做新地点的请求。如果与-i, - include或-I, - head,header一起使用   所有要求          页面将显示。使用身份验证时,curl仅将其凭据发送到初始主机。如果重定向需要卷曲   一个不同的主人,          它将无法拦截用户+密码。另请参阅--location-trusted有关如何更改此信息。您可以限制要遵循的重定向数量          使用--max-redirs选项。

     

当curl遵循重定向并且请求不是普通的GET(例如POST或PUT)时,它将执行以下请求:   如果是HTTP,请获取          响应是301,302或303.如果响应代码是任何其他3xx代码,curl将使用以下代码重新发送以下请求   同样未经修改          方法

     

您可以通过使用专用选项告诉curl在30x响应后不将非GET请求方法更改为GET:   --post301, - post302          和-post303。