我在 8888 端口设置了 ngrok 并让它运行。我的应用程序可通过提供的 url 访问(我在 apache 配置中将其添加为 vhost),一切似乎都运行顺利。我的应用程序使用了一个也在我的本地主机中的 api,所有请求都可以工作,除了一个(通过 ngrok 访问时)。不起作用的请求是对用户进行身份验证的请求。返回 401 未经授权。我的猜测是 ngrok 请求具有不同的标头,并且某些内容在 api 中不太有效,但我不知道是什么。此外,所有其他请求都有效。也许甚至不是……有什么想法吗?
以下是访问 ngrok url 和 localhost url 时的 reuqest 标头:
ngrok 网址
Accept application/json, text/javascript, */*; q=0.01
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Content-Type application/json
Cookie _ga=GA1.2.372684863.1425176717
Host 23f9aa37.ngrok.com
PHP_AUTH_PW testing
PHP_AUTH_USER testing
Referer http://23f9aa37.ngrok.com/multikanban/app/login
User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:36.0) Gecko/20100101 Firefox/36.0
X-Requested-With XMLHttpRequest
本地主机请求
Accept application/json, text/javascript, */*; q=0.01
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Content-Type application/json
Cookie SQLiteManager_currentLangue=2; PHPSESSID=e500334d5e6203cd5242be050f1eab3a
Host localhost:8888
PHP_AUTH_PW testing
PHP_AUTH_USER testing
Referer http://localhost:8888/multikanban/app/login
User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:36.0) Gecko/20100101 Firefox/36.0
X-Requested-With XMLHttpRequest