Woocommerce在使用localhost base_url时获得401,但在使用公共ip时成功

时间:2018-09-22 00:38:25

标签: php laravel woocommerce guzzle woocommerce-rest-api

我有woocommerce的REST API的wordpress,wordpress在docker上运行。 对于http客户端,我在Laravel应用中将Guzzle6与Oauth库一起使用来执行请求。 laravel应用程序在nginx之后运行 当我将base_url设置为localhost:port时,我得到了401响应

{
    "code":"woocommerce_rest_authentication_error",
    "message":"Invalid signature - provided signature does not match.
}

当我将base_url设置为public ip时,它成功了。 当我在本地计算机上进行开发时,使用本地主机作为base_url成功了,为什么会发生这种情况?

1 个答案:

答案 0 :(得分:1)

我与WooCommerce尝试在本地主机上与邮递员发送简单的GET请求时遇到了相同的问题。我通过将WP_HOMEWP_SITEURL设置为本地IP地址来解决此问题,或者转到Admin Panel > Settings > General并将localhost替换为WordPress Address (URL)和{ {1}},如此处所述: https://wordpress.stackexchange.com/questions/180207/how-to-make-other-computer-in-local-network-see-my-theme

希望这会有所帮助。