lando / lando/core

Proxy URLs Cause Round Robin Results for `appserver_nginx`

Open
#91 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
JavaScript
Stars
62
Forks
41
Avg merge
2h 1m
Merged PRs (30d)
2

Description

For an example app...

name: myproject
recipe: wordpress
config:
  via: nginx
  webroot: web
  database: mariadb:10.2
  xdebug: true

proxy:
  node:
    - bs.myproject.lndo.site:3000

services:
  node:
    type: node
    ssl: true
    command: cd /app/web/wp-content/themes/twentytwentyfour && node_modules/.bin/gulp watch

If you ssh into the node service and try to curl -L appserver_nginx, you'll see results from ALL apps you're running with an appserver_nginx container. Ex: your first result from curl might be from Site A, the next from Site B, the third back to Site A, and so on randomly.

The problem is not restricted to services of type: node; we've tested giving proxy settings to other services and experienced the same results. Nor is it restricted to resolving appserver_nginx; rather, it seems trying to curl any service that you have multiple instances of running (for example, two different apps served by Apache) will create the round robin-ing.

Based on this, I'm guessing this is probably caused by the way we set labels on the Docker containers to tell Traeffik how to setup the proxy URLs.

Note that we found this through a user trying to implement the guide on setting up BrowserSync. That may indicate that this is a new-ish issue, or it may simply indicate that most people don't experience this conflict because they didn't have two apps running with appserver_nginx containers.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue from the provided Lando configuration by curling appserver_nginx and another duplicated service across multiple running apps. Start by examining the proxy settings, Docker container labels, and Traefik setup; done means requests consistently reach the intended app instead of round-robin results from other instances.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker
Domain
infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.