-
-
Notifications
You must be signed in to change notification settings - Fork 700
Allow disabling ddev-router port bindings #3797
Description
Is there an existing issue for this?
- I have searched the existing issues
Is your feature request related to a problem? Please describe
I have multiple services running on my computer, and my own reverse proxy already running on port 80 and 443.
I can tell the reverse proxy to route *.ddev.site to the ddev-router container, but I can't get the router to start because 80 and 443 are already in use.
Attempting to get the ddev-router to not bind on port 80 and 443 also re-configures the internal routing, and changes the reported URLs of the projects, so none of the links produced by the CLI work correctly.
Describe the solution you'd like
I'd like to be able to disable ddev-router's port bindings, without disabling all the routing logic. Something like bind_no_interfaces instead of bind_all_interfaces.
Alternatively, I'd like a way to say "This is the URL to display for this project, regardless of what the rest of the config would imply"
I'm trying to get to the point where the output from ddev is something like:
Successfully started my-project
Project can be reached at https://my-project.ddev.site
and variables like DDEV_PRIMARY_URL and DDEV_HOST_HTTPS_PORT to match that, without binding ddev-runner to any ports on the docker host.
Describe alternatives you've considered
I've tried disabling the ddev-router container with omit_containers, but this disables the routing entirely, and sets the url for the project to be something like https://localhost:9372. I tried setting additional_fqdns, but this seems to have no effect with the router disabled.
I've tried changing the router_http_port and router_https_port settings on the project, but this seems to stop the project's web container from listening on port 80/443, and adds the new port to the url (https://my-project.ddev.site:8080), which doesn't work, since the reverse proxy is routing the domain based on 80 and 443 working.
I've tried the .router-compose.yml overrides suggested in #1941 (comment), but that only adds additional ports/ips, and does not prevent the existing port 80/443 binding from happening.
Additional context
No response