我的 Raspberry Pi 上的自托管 Wed Api 导致 HTTP 400 错误请求

Self hosted Wep Api on my Respbarry Pi leads to HTTP 400 Bad Request

我创建了一个自托管网站 API (Web API 2.2 + Owin)。该服务非常简单,只有 returns GPIO 引脚值列表。

在我的 Pi 上,它运行完美。我可以毫无问题地调用该服务。只有当我尝试从我的 PC 调用它时,才会返回 HTTP 400:

要求:

GET http://192.168.178.105/RobotApi/GetGpioPinValues HTTP/1.1
Host: 192.168.178.105
Connection: keep-alive
Accept: application/json, text/plain, */*
Origin: http://localhost
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36
Referer: http://localhost/piRobot.WebSite/index.html
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,de-DE;q=0.6,de;q=0.4

回复:

HTTP/1.1 400 Bad Request
Content-Type: text/html; charset=utf-8
Server: Mono-HTTPAPI/1.0
Date: Fri, 02 Jan 2015 16:19:24 GMT
Content-Length: 35
Connection: close

<h1>Bad Request (Invalid host)</h1>

我希望有人能帮助我。有什么建议吗?

非常感谢, 但丁

好的。知道了:-)

raspberry 或 mono 或 Web Api 本身没有问题。自托管服务已使用基础 URL http://localhost 初始化。奇怪的是,该服务只能通过本地主机使用,而不能通过相应的 IP 地址使用!!!

所以我现在所做的是,我将 localhost 替换为我的 Pi 的 IP 地址并且它运行良好。现在服务只能通过IP访问?!

我仍然不知道为什么会有所不同,但显然确实如此。