我正在使用邮差测试我有一个API,当请求不包含子域时,一切都很好,然而,当我添加一个子域到URL时,我得到了这个响应。

无法得到任何回应 连接http://subdomain.localhost:port/api/时出错 为什么会发生这种情况: 服务器无法发送响应:请确保后端正在工作 正确 自签名SSL证书被阻止:通过关闭来修复此问题 “SSL证书验证”设置>通用 Proxy配置错误确保Proxy配置正确 在“设置”中>代理 请求超时:在“设置”中修改请求超时时间

如果我从邮差复制相同的URL并将其粘贴到浏览器中,我得到了一个正确的响应,是否有某种配置,我应该做邮差工作与子域?


当前回答

首先去邮差的设置:

关闭“常规”页签中的SSL证书验证:

关闭“代理”页签的“全局代理配置和使用系统代理”:

使请求超时为0 (0)

配置Apache:

如果上述更改导致404响应,请继续阅读;-)

本地托管站点的用户(如XAMP和/或WAMP)可能能够使用https://前缀地址访问他们的虚拟站点,但这是一个谎言,要真正启用SSL(对于每个虚拟站点),配置Apache如下:

在您首选的文本编辑器中打开httpd-vhosts.conf文件(来自Apache的conf/extras目录)。 更改虚拟站点的设置,如下所示:

<VirtualHost *:80 *:443>
    ServerName my-site.local
    ServerAlias *.my-site.local
    DocumentRoot "C:\xampp\htdocs\my-project\public"

    SSLEngine on
    SSLCertificateFile "path/to/my-generated.cert"
    SSLCertificateKeyFile "path/to/my-generated.key"

    SetEnv APPLICATION_ENV "development"

    <Directory "C:\xampp\htdocs\my-project\public">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow, deny
        Allow from all
    </Directory>
</VirtualHost>

当然,生成一个伪ssl -certificate,并更改所有文件路径,例如从“path/到/my-generated”。变成真实的文件地址。

最后,通过在浏览器中访问本端站点进行测试,但是使用http://(没有S)前缀地址;Apache现在应该给出如下错误:

Bad Request

Your browser sent a request that this server could not understand.
Reason: You're speaking plain HTTP to an SSL-enabled server port.
Instead use the HTTPS scheme to access this URL, please.

其他回答

在我的例子中,它是邮递员没有识别的无形空间,上面的文本字符串呈现为邮递员没有空格。 我禁用了SSL证书验证和系统代理,甚至尝试了邮递员chrome扩展(即将被弃用),但当我下载并尝试失眠症时,它在那些空格的地方给出了那些红点,一定是在复制/粘贴期间得到的

在我的例子中,(公司)代理使用的是自签名SSL证书,这是Postman不喜欢的。我通过激活发现了它 视图->显示邮差控制台 并重试请求。然后控制台显示证书错误。在 设置- >一般 我禁用 SSL证书验证。

如果你在发送请求时从邮递员原生应用程序得到“无法得到任何响应”的消息,打开邮差控制台(查看>显示邮差控制台),重新发送请求,并在控制台中检查任何错误日志。

感谢numaanashraf

当用户不小心复制/粘贴了用于构建URL的环境变量中的前导空格字符时,我们得到了这个令人困惑的错误:

例子:

The request's URL was set to: http://{URL}/blah

The {URL} environment variable had a value of " hostname" (**notice the leading space character**)

这导致邮差试图访问http:// hostname/blah,并给出这个错误消息。

对于使用真实域而不是localhost遇到此问题的任何人,并且无法使用上述任何解决方案解决它。

尝试将网络DNS (WIFI或局域网)更改为其他DNS。对我来说,我使用谷歌DNS 8.8.8.8, 8.8.4.4,它工作!