我正在使用邮递员来测试我拥有的 API,当请求不包含子域时一切都很好,但是当我向 URL 添加子域时我收到此响应。
不能得到任何回应
连接时出错http://subdomain.localhost:port/api/
为什么这可能会发生:
服务器不能发送一个响应:确保后端工作正常
自签名的SSL证书是被屏蔽:解决这个问题通过关闭的SSL证书验证设置>
代理配置错误地确保正确配置代理设置>代理
请求超时:在设置中更改请求超时>一般
如果我从Postman中复制相同的URL并将其粘贴到浏览器中,我会得到适当的响应,是否应该采取某种配置来使Postman与子域一起工作?
答案
首先去Settings 在Postman:
- Off 的SSL certificate verification 在General标签:
- Off 的Global Proxy Configuration 和Use System Proxy在代理选项卡:
- 制作Request Timeout to 0 (Zero)
配置Apache
:
如果上述变化会导致404
反应,然后继续阅读;-)
在本地托管其网站的用户(例如XAMP
和/或WAMP
),可以访问他们的virtual-sites使用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 证书,并更改所有文件路径,例如"
path/to/my-generated.cert
“成真实的文件地址。最后,通过访问浏览器的本地站点来测试,但使用
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.