Docker NGINX + PHP-FPM:错误 502 错误网关

Docker NGINX + PHP-FPM:错误 502 错误网关

nginx 站点配置:

server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;
    root /var/www/example.com;

    location / {
        index index.php index.html;
    }
  
    location ~* \.php$ {
        fastcgi_pass    phpfpm:9000;
        fastcgi_index   index.php;
        include         fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

docker-compose.yml

version: "3"

services: 
  webserver:
    image: nginx:latest
    ports: 
      - "80:80"
      - "443:443"
    volumes: 
      - ./wwwcontent:/var/www
      - ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf
      - ./nginx/conf/conf.d:/etc/nginx/conf.d   
      - ./ssl:/etc/ssl/
    links: 
      - phpfpm

  phpfpm:
    image: php:7.4-fpm
    volumes:
      - ./wwwcontent:/var/www
    expose:
      - 9000

以下是我收到的错误:

connect() failed (113: No route to host) while connecting to upstream, client: 172.68.133.9, server: example.com, request: "GET /?5 HTTP/1.1", upstream: "fastcgi://172.24.0.2:9000", host: example.com

答案1

问题是防火墙阻止了 Docker 容器之间的通信。

此命令可修复此问题:firewall-cmd --set-default-zone=trusted

或禁用防火墙

相关内容