Comments (3)
True, but we cannot tell if the incoming request is http or https only based on port number.
In Case 1, the fix could be separate port 80
and 443
into two different frontend.
In Case 2, part of the logs shows:
frontend port_443
bind :443 ssl crt /certs/
reqadd X-Forwarded-Proto:\ https
acl is_websocket hdr(Upgrade) -i WebSocket
acl host_rule_2 hdr_reg(host) -i ^.*$
acl host_rule_2_port hdr_reg(host) -i ^.*:443$
use_backend SERVICE_WEB if host_rule_2 or host_rule_2_port
frontend port_80
bind :80
acl is_websocket hdr(Upgrade) -i WebSocket
acl host_rule_1 hdr_reg(host) -i ^.*$
acl host_rule_1_port hdr_reg(host) -i ^.*:80$
use_backend SERVICE_WEB if host_rule_1 or host_rule_1_port
I think this is as expected. The 443 frontend has the correct x-forwarded-proto, and the 80 frontend doesn't have it because it is not specify by EXTRA_SETTINGS
explicitly.
from dockercloud-haproxy.
Fixed in version 1.4
from dockercloud-haproxy.
True, but we cannot tell if the incoming request is http or https only based on port number.
Out of curiosity, why is this the case?
I (naively) assumed that it would have been safe to assume that the ports dictated the protocol based on the frontends' configurations.
from dockercloud-haproxy.
Related Issues (20)
- Unnecessary redirect from https to https scheme in SSL termination mode HOT 2
- TCP load balancing doesn't work in Docker Swarm Mode
- Basic auth on a single service? HOT 2
- DNS resolution of loggers at startup
- Still experimental in Swarm Mode? HOT 8
- You should be able to indicate explicit Service/Port combos.
- Source balancing does not work on Docker for Mac
- Some question about multi-ports balance and ADDITIONAL_SERVICES
- Is this project dead? HOT 16
- How can i achieve the desired result with NGINX? Anybody else knows?
- Not working properly when using compose mode + service with fixed container names HOT 1
- Swarm service deploy mode = global is not supported
- Put stats on Virtual Host on a port 80 / 443
- Service Unavailable (503) Custom HTML
- Support option for this application
- We have a requirment of altering url for backend service at haproxy, how can we achieve
- tcp的1m超时怎么解决
- Questions about the mysterious project deprecation HOT 1
- imcompatible with docker compose 1.23 HOT 5
- Can not link service or container in compose mode HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dockercloud-haproxy.