Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

ChrisF79's avatar

502 Bad Gateway on old and fresh install of Homestead

I followed the 5.7 docs to a T on installing Homestead.

Homestead.yaml

ip: "192.168.10.10"
memory: 1048
cpus: 3
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/code
      to: /home/vagrant/code

sites:
    - map: wordpress.test
      to: /home/vagrant/code/wordpress.test

databases:
    - homestead

** /etc/hosts **

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
192.168.10.10 wordpress.test

255.255.255.255 broadcasthost
::1             localhost

I can ping wordpress.test just fine and I can SSH into the Vagrant box and go straight to the wordpress.test folder under /home/vagrant/code/wordpress.test

However, when I go into my browser and go to http://wordpress.test I get:

502 Bad Gateway

nginx/1.15.6

Wordpress tries to redirect it to:

http://wordpress.test/wp-admin/setup-config.php

since it is a new installation. It just doesn't make sense.

sites-enabled/wordpress.test/

server {
    listen 80;
    listen 443 ssl http2;
    server_name .wordpress.test;
    root "/home/vagrant/code/wordpress.test";

    index index.html index.htm index.php;

    charset utf-8;



    location / {
        try_files $uri $uri/ /index.php?$query_string;

    }



    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    access_log off;
    error_log  /var/log/nginx/wordpress.test-error.log error;

    sendfile off;

    client_max_body_size 100m;

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;


        fastcgi_intercept_errors off;
        fastcgi_buffer_size 16k;
        fastcgi_buffers 4 16k;
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
    }

    location ~ /\.ht {
        deny all;
    }

    ssl_certificate     /etc/nginx/ssl/wordpress.test.crt;
    ssl_certificate_key /etc/nginx/ssl/wordpress.test.key;
}

The /var/run/php/php7.3-fpm.sock does exist. I have no idea what's wrong.

0 likes
6 replies
ChrisF79's avatar

Just checked my wordpress.test-error.log and find this:

2019/01/23 02:41:01 [error] 20363#20363: *6 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 192.168.10.1, server: wordpress.test, request: "GET /wp-admin/setup-config.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.3-fpm.sock:", host: "wordpress.test"

Still, not sure how to fix it.

travis.elkins's avatar

@chrisf79 You're not alone. I just pruned an older 6.x version of homestead that was working to "upgrade" to 7.0 for a new project. Now, I get the bad gateway error on every request. (A subsequent request seems to succeed, however, so it's one request fails, next one succeeds, next one fails, next one succeeds....)

This is not my area of expertise, so I hope someone comes with a solution quickly....

ChrisF79's avatar

@TRAVIS.ELKINS - 100% the right answer! We still don't know why after reading the bug report but your help was SO valuable. Thank you so much!

Two things: 1.) I did not realize I could put php: "7.2" in my Homestead.yaml file which is awesome to know.

2.) That fixed it.

1 like
travis.elkins's avatar

@chrisf79 Yep....looks like the short-term fix is to switch to php 7.2. I read through quickly, so I'm not sure when 7.3 will be supported. I'll try it locally...and it works...! :-)

travis.elkins's avatar

@CHRISF79 - @chrisf79 Happy to hear that it helped you out. Like I said, it's not my area of expertise. I didn't get any luck with any Google results, but then I figured I'd try to see if the Laravel Homestead repository on github had any issues...which it did, obviously, so that worked out great...! :-)

For future reference, here's the section in the Laravel docs that discusses using different PHP versions: https://laravel.com/docs/5.7/homestead#multiple-php-versions

It seems that there's actually quite a bit one can do with Homestead. The default, out-of-the-box stuff normally works for me...but it's nice to know there's flexibility when one needs it.

Alright...happy to have been able to help. Happy coding...! :-)

Please or to participate in this conversation.