Docker compose 使用Docker Compose将Omnisus Gitlab的自定义HTTPS端口的HTTP重定向到HTTPS

Docker compose 使用Docker Compose将Omnisus Gitlab的自定义HTTPS端口的HTTP重定向到HTTPS,docker-compose,dockerfile,gitlab-ci,http-redirect,gitlab-omnibus,Docker Compose,Dockerfile,Gitlab Ci,Http Redirect,Gitlab Omnibus,我有最新的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'

我有最新的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'
访问时,它工作正常,但对于某些ip:6312,它会显示:

400错误请求普通HTTP请求已发送到HTTPS端口nginx

原因是显而易见的,但如何避免呢?我必须为nginx设置
ssl关闭
,如果是,如何为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
编辑:
简而言之:我想要的是通过
some\u ip:6312
http://some_ip:6312
,将重定向到
https://some_ip:6312

不可能在同一端口上运行
http
https


当您使用
https://domain/
端口自动假定为
443
,如果
http://domain/
假定为
80
。所以它们实际上都在不同的端口上运行

我知道,我已经说过,很明显HTTP请求被发送到HTTPS端口,这是行不通的。查看我的编辑。让我检查一下,但我仍然怀疑是否可以在自定义端口上执行重定向。您需要在前面放置另一个nginx,并使用普通端口80和443。为什么自定义端口会出现问题?这是nginx特有的吗?