У меня есть новейшее изображение Omnibus GitLab Docker, и docker-compose.yml
выглядит так:
web:
image: 'gitlab/gitlab-ce:latest'
restart: always
hostname: 'some_ip'
container_name: 'some_name'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://some_ip'
gitlab_rails['gitlab_shell_ssh_port'] = 4381
nginx['redirect_http_to_https'] = true
nginx['redirect_http_to_https_port'] = 80
ports:
- '6312:443'
- '4381:22'
volumes:
- '/srv/gitlab/config:/etc/gitlab'
- '/srv/gitlab/logs:/var/log/gitlab'
- '/srv/gitlab/data:/var/opt/gitlab'
При доступе к https://some_ip:6312 работает нормально, но для some_ip: 6312 отображается:
400 Неверный запрос Простой HTTP-запрос был отправлен на HTTPS-порт nginx
Причина очевидна, но как обойти это? Должен ли я установить ssl off
для nginx, если так, как мне сделать это для образа Docker?
Я пробовал разные комбинации добавления следующих строк, но безуспешно:
nginx['redirect_http_to_https'] = true
nginx['redirect_http_to_https_port'] = 80
gitlab_rails['gitlab_https'] = false
gitlab_rails['gitlab_port'] = 443
nginx['ssl'] = 'off'
nginx['listen_port'] = 443
nginx['listen_https'] = false
EDIT:
Вкратце: я хочу, чтобы пользователь, который подключается к сайту через some_ip:6312
или http://some_ip:6312
, был перенаправлен с на https://some_ip:6312
.