1

I did read and try the following;

But none of theses fixed the issue.

Issue
From Windows; when I browse my website located in WSL2 through http://myproject.test, https://myproject.test or 127.0.0.1 the first 2-3 requests are going fast (<100 ms). Then the next requests takes exactly 60000ms (1 minute) to be received when they are not blocked.

Configuration on Windows 10

  • Firewall disabled
  • 127.0.0.1 myproject.test added to C:\Windows\System32\drivers\etc\hosts
  • mkcerts installed
  • WSL 2 installed with Ubuntu 20.04 on it

Configuration on WSL 2

  • Ubuntu 20.04
  • nginx 1.18
  • mysql 8.0
  • php-fpm 7.4

Project

  • Laravel
  • location /home/clement/projects/myproject/
  • certs (generated with mkcert) /home/clement/projects/certs/
  • owner: clement:www-data
  • permission : 777 (It's only for test and development purpose)

/etc/nginx/sites-available/myproject.test

server {
    listen 80;
    listen [::]:80;
    listen 443 ssl;
    listen [::]:443 ssl;

    ssl_certificate /home/clement/projects/certs/myproject.test.pem;
    ssl_certificate_key /home/clement/projects/certs/myproject.test-key.pem;

    client_max_body_size 108M;

    access_log /var/log/nginx/application.access.log;

    server_name myproject.test;
    root /home/clement/projects/myproject/public;
    index index.php;

    if (!-e $request_filename) {
        rewrite ^.*$ /index.php last;
    }

    location ~ \.php$ {
        fastcgi_buffering off;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PHP_VALUE "error_log=/var/log/nginx/application_php_errors.log";
        include fastcgi_params;
    }

}

I have the same issue using fastcgi_pass 127.0.0.1:9000; or fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;

When I do php -S localhost:8080 or php artisan serve in the project, everything's working fine.

Edit with log
This is the log I'm getting on nginx, but even with this information I still cannot find any resource that fix the issue.

2020/08/07 23:06:30 [error] 1987#1987: *6 upstream timed out (110: Connection timed out) while reading upstream, client: 127.0.0.1, server: myproject.test, request: "GET /_debugbar/assets/javascript?v=1588748787 HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.4-fpm.sock:", host: "myproject.test", referrer: "http://myproject.test/"

Or using IP

2020/08/08 01:43:01 [error] 4080#4080: *4 upstream timed out (110: Connection timed out) while reading upstream, client: 127.0.0.1, server: myproject.test, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "myproject.test"

Clément Baconnier
  • 5,718
  • 5
  • 29
  • 55

1 Answers1

3

I finally found the issue. Despite I followed the instruction to install WSL 2, it was using WSL 1.

In powershell I ran wsl -l -v and got the result

|---------------------|------------------|------------------|
|         NAME        |       STATE      |      VERSION     |
|---------------------|------------------|------------------|
|    Ubuntu-20.04     |      Stopped     |         1        |
|---------------------|------------------|------------------|

After updating the kernel I could change the version to 2 with the command wsl --set-version Ubuntu-20.04 2

and now everything works well

Clément Baconnier
  • 5,718
  • 5
  • 29
  • 55