Skip to content

Instantly share code, notes, and snippets.

@LTroya
Created January 22, 2019 13:30
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LTroya/d43824e3bcc49585bbad3b949cd4e683 to your computer and use it in GitHub Desktop.
Save LTroya/d43824e3bcc49585bbad3b949cd4e683 to your computer and use it in GitHub Desktop.
Nginx configuration to work with laravel-websockets and laradock
server {
listen 80;
listen [::]:80;
# For https
# listen 443 ssl;
# listen [::]:443 ssl ipv6only=on;
# ssl_certificate /etc/nginx/ssl/default.crt;
# ssl_certificate_key /etc/nginx/ssl/default.key;
server_name laravel-websockets.localhost;
root /var/www/laravel-websockets/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_pass php-upstream;
fastcgi_index index.php;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fixes timeouts
fastcgi_read_timeout 600;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
location /.well-known/acme-challenge/ {
root /var/www/letsencrypt/;
log_not_found off;
}
error_log /var/log/nginx/laravel_error.log;
access_log /var/log/nginx/laravel_access.log;
}
server {
listen 80;
listen [::]:80;
server_name ws.laravel-websockets.localhost;
root /var/www/laravel-websockets.localhost/public;
index index.html index.htm index.php;
location / {
# I needed to use the workspace internal ip address. The way to get it is:
# docker ps
# docker inspect YOUR_CONTAINER_ID_OR_NAME
proxy_pass http://172.19.0.5:6001;
proxy_read_timeout 60;
proxy_connect_timeout 60;
proxy_redirect off;
# Allow the use of websockets
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
@LTroya
Copy link
Author

LTroya commented Jan 22, 2019

To verify that the websocket is connected: window.Echo.connector.pusher.connection.timeline.events

@w3creativo
Copy link

w3creativo commented Jan 29, 2019

hey, does it work with socket.io?

@33sKamal
Copy link

33sKamal commented Mar 9, 2019

Hello
i add the last serve{ ....} you write
but still not working on me
Help me if yu can and thanks
https://stackoverflow.com/questions/55076399/laravel-websocket-in-homestead-not-working

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment