Symfony 6 - 连接本地主机被拒绝

3

我正在使用 Docker(来自 Symfony 文档 - https://github.com/dunglas/symfony-docker),在 Symfony 6 中我遇到了以下问题:

Failed to connect to localhost port 443 after 0 ms: Connection refused for "https://localhost/products".

此浏览器地址返回产品的json数据。

这是控制器:

  <?php

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpClient\HttpClient;
use Symfony\Component\HttpFoundation\JsonResponse;

class ApiController extends AbstractController
{   
    #[Route('/apire', name: 'api')]
    public function fetchGitHubInformation()
    {
        $client = HttpClient::create();
        $response = $client->request('GET', 'https://localhost/products');
        
        $content = $response->getContent();
        $content = $response->toArray();


        return new JsonResponse($content);
    }
}

这是来自Caddy Docker容器的netstat:

/srv/app # netstat -tulpn | grep LISTEN
tcp        0      0 127.0.0.11:45991        0.0.0.0:*               LISTEN      -
tcp        0      0 127.0.0.1:2019          0.0.0.0:*               LISTEN      1/caddy
tcp        0      0 :::443                  :::*                    LISTEN      1/caddy
tcp        0      0 :::80                   :::*                    LISTEN      1/caddy

问题出在哪里?


你能在 https://[::1]/products 加载你的网站吗? - Álvaro González
1
@ÁlvaroGonzález 我无法连接 - 无法连接到"https://[::1]/products"服务器。 - pysto papo
@ÁlvaroGonzález 这是否与 SSL 有关?我的 HTTPS 被划掉了。 - pysto papo
@pystopapo,你为本地主机创建了自签名证书吗?为了测试,它应该使用http(端口80)而不是https(端口443) - Bossman
@Bossman 是的,我已经通过symfony server:ca:install安装了它,但是在docker上(划掉https)它无法正常工作。然而,无论我使用http还是https本地主机,它总是返回连接被拒绝。 - pysto papo
2个回答

2

3
请阅读“仅提供链接的回答”文档。 - the Tin Man

0
我刚刚把IP地址从localhost(:port)改成了我的Windows IP地址192.168.x.x(:port),然后它就正常工作了!
如果你有端口号,请用你的端口号替换(:port)。例如:http://192.168.x.x:8080 如何获取你的IP地址;
1 . Open cmd
2 . ipconfig
3 . Get the address from IPv4 Address.

请注意,这是您本地网络中的IP地址,而不是私有本地地址。除了防火墙之外,通常意味着您的Web服务器正在向其他计算机提供开发站点。这可能是您所需要或想要的,也可能不是。 - Álvaro González

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接