New Laravel (Homestead) installation: 502 Bad Gateway – *Refresh* – the website is displayed correctly

  • A+

I tried to setup a local Laravel project. So I decided to use the Homestead vagrant box. After I installed the whole thing like in this Tutorial I was looking forward to see the result in the browser:

The first dispay was a nginx 502 Bad Gateway Error. So I tried to refesh this and after that the default Laravel starting Page was displayed. Then I made some routes and links to some subpages of my site and every time I change my page (via link or typing the get request) i get the "502 Bad Gateway" which disappears after a refresh of the website.

I tried:

  • to change the php version (like here)
  • to make the buffer bigger (like here)
  • completely reinstalled my vagrant and VirtualBox
  • use another Browser
  • use an functional Box of my colleague

Sadly nothing was able to do not display me sometimes the "502 Bad Gateway". But on the Pc of my colleague(Also Windows 10) all things are as you would expect it.

The log file ( /var/log/nginx ) of the site:

2019/01/23 20:23:53 [error] 2532#2532: *1 recv() failed (104: Connection  reset by peer) while reading response header from upstream, client:, server: eatthis.test, request: "GET / HTTP/1.1", upstream:  "fastcgi://unix:/var/run/php/php7.3-fpm.sock:", host: "eatthis.test"  2019/01/23 20:24:03 [error] 2532#2532: *1 recv() failed (104: Connection  reset by peer) while reading response header from upstream, client:, server: eatthis.test, request: "GET / HTTP/1.1", upstream:  "fastcgi://unix:/var/run/php/php7.3-fpm.sock:", host: "eatthis.test" 

And the /etc/nginx/sites-enabled/eatthis.test:

server { listen 80; listen 443 ssl http2; server_name .eatthis.test; root "/home/vagrant/code/Laravel/public";  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/eatthis.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/eatthis.test.crt; ssl_certificate_key /etc/nginx/ssl/eatthis.test.key; } 

My Homestead.yaml:

--- ip: "" memory: 2048 cpus: 1 provider: virtualbox  authorize: c:/Users/XXXX/.ssh/  keys: - c:/Users/XXXX/.ssh/id_rsa  folders: - map: c:/www/code   to: /home/vagrant/code  sites: - map: eatthis.test   to: /home/vagrant/code/Laravel/public  databases: - homestead  # ports: #     - send: 50000 #       to: 5000 #     - send: 7777 #       to: 777 #       protocol: udp  # blackfire: #     - id: foo #       token: bar #       client-id: foo #       client-token: bar  # zray: #  If you've already freely registered Z-Ray, you can place the token here. #     - email: #       token: foo #  Don't forget to ensure that you have 'zray: "true"' for your site. 

And my hosts:

# Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # #          # source server #              # x client host  # localhost name resolution is handled within DNS itself. #       localhost #       ::1             localhost eatthis.test 

I think there is a problem on my PC or on my vagrant but i don´t know what this could be, because the files are loading after a refresh.

I hope somebody can help me out with this problem. This refreshing all the time is so annoying.


Aaron Belz exact steps didn't work for me, but following the link did.

It was xdebug, unfortunately for me too.

sudo vim /etc/php/7.3/mods-available/xdebug.ini 

And prefixed all the lines with ; - then followed Aaron's instructions:

sudo service nginx restart sudo service php7.3-fpm restart 

And it worked. Now I'm worried if I need xdebug for anything - I'm not gonna be able to use it until I find the fix. Ah well, cross that bridge when I get there :D

I will also note I'm on Windows, and I know Vagrant sometimes has problems with that so maybe that has something to do with it.


:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: