反向代理无法访问laravelS

反向代理无法访问laravelS
我在php容器中安装laravels,开启服务在5200端口,容器内访问没有问题,
现在我通过nginx反向代理配置让访问80时宿主机通过nginx转发到php容器,我的nginx配置如下下

upstream swoole {
    server 172.21.0.5:5200 weight=5 max_fails=3 fail_timeout=30s;
    keepalive 16;
}

server {
    listen 80;
    listen [::]:80;
    server_name localhost;
    root /www/laravel/public/;
    index index.php index.html;

    location / {
        try_files $uri @laravels;
    }

    location @laravels {
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Real-PORT $remote_port;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header Scheme $scheme;
        proxy_set_header Server-Protocol $server_protocol;
        proxy_set_header Server-Name $server_name;
        proxy_set_header Server-Addr $server_addr;
        proxy_set_header Server-Port $server_port;
        proxy_pass http://swoole;
    }
}

其中172.21.0.5是我php容器的ip地址

反向代理无法访问laravelS

但是我nginx访问之后给我报错

反向代理无法访问laravelS

提示的是连接拒绝,我想可能ip直接访问的方式可能有问题,所以我php容器又映射了5200端口到宿主机

反向代理无法访问laravelS
然后我把直接访问容器ip改为127.0.0.1

反向代理无法访问laravelS
然后重启nginx

反向代理无法访问laravelS
发现127.0.0.1映射端口也给拒绝了,这该怎么办呢

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

大哥们我解决了,是因为laravels服务监听默认是127.0.0.1,要改配置的,所以外部访问不了就是因为这个原因

3年前 评论
讨论数量: 11

你这样请求的是公网ip

3年前 评论
aab

host.docker.internal 可以解决在docker内部访问宿主机的问题

3年前 评论

因为你的服务只监听在127.0.0.1上

3年前 评论

和反向代理无关吧,首先得能容器外访问容器,容器的端口是怎么映射的?

3年前 评论
晏南风 (楼主) 3年前
php_yt (作者) 3年前

看你贴的报错,我猜nginx跟php-fpm不是在同一个容器网络下吧

如果是这样,nginx只能通过主机ip来访问php-fpm服务了

如果要通主机ip来访问容器服务,主机端口和容器端口需要做下映射

下面是启动容器映射端口的例子,8000是主机端口,8080是容器端口

docker container run --publish 8000:8080 --detach --name bb bulletinboard:1.0

这样很很麻烦

更简单的做法

nginx和php-fpm在同一容器网络之下,直接可以通过容器名访问

3年前 评论

大哥们我解决了,是因为laravels服务监听默认是127.0.0.1,要改配置的,所以外部访问不了就是因为这个原因

3年前 评论

了解下0.0.0.0127.0.0.1的区别。

3年前 评论
晏南风 (楼主) 3年前

proxy_pass swoole; 这个配置好像也不对吧

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!