Before, if a site's certificate was not found, the site was served
over http rather than https. Failing open like this is problematic
for sites where security is important. Presumably the user set
`HTTPS_METHOD` to a non-`noredirect` value (or left it unset) for a
good reason; we should honor it even if it means serving error
messages.
WARNING: This change breaks compatibility. Any vhost where all of the
following are true will fail after this change:
* `HTTPS_METHOD` is either unset or set to a value other than
`nohttps`.
* The vhost does not have its own certificate (`default.crt` doesn't
count).
* Clients expect to be able to access the vhost by using plain http
to nginx-proxy.
To get the previous behavior, set `HTTPS_METHOD` to `nohttps` for the
vhost.
38 lines
570 B
YAML
38 lines
570 B
YAML
version: "2"
|
|
|
|
networks:
|
|
netA:
|
|
netB:
|
|
|
|
services:
|
|
reverseproxy:
|
|
container_name: reverseproxy
|
|
networks:
|
|
- netA
|
|
image: nginxproxy/nginx-proxy:test
|
|
volumes:
|
|
- /var/run/docker.sock:/tmp/docker.sock:ro
|
|
environment:
|
|
HTTPS_METHOD: nohttps
|
|
|
|
webA:
|
|
networks:
|
|
- netA
|
|
image: web
|
|
expose:
|
|
- 81
|
|
environment:
|
|
WEB_PORTS: 81
|
|
VIRTUAL_HOST: webA.nginx-proxy
|
|
|
|
webB:
|
|
networks:
|
|
- netB
|
|
image: web
|
|
expose:
|
|
- 82
|
|
environment:
|
|
WEB_PORTS: 82
|
|
VIRTUAL_HOST: webB.nginx-proxy
|
|
|