Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx 无法使用入口子路径访问GUI_Nginx_Kubernetes_Gitlab_Nginx Ingress_Amazon Eks - Fatal编程技术网

Nginx 无法使用入口子路径访问GUI

Nginx 无法使用入口子路径访问GUI,nginx,kubernetes,gitlab,nginx-ingress,amazon-eks,Nginx,Kubernetes,Gitlab,Nginx Ingress,Amazon Eks,这个问题也已经发布到Gitlab论坛上。 我认为即使在StackOverFlow上,专家们也会阅读它,所以我将发布它。 请允许双重邮寄 我想在AWS EKS上构建GitLab CE,并使用在Ingress中设置的子路径访问GUI。 如果Ingress中的主机设置为/,则可以正常访问,但如果它不是/,例如/gitlab,则无法访问。 使用Nginx入口控制器 我怎样才能解决它 先谢谢你 以下内容作为参考信息随附 版本 EKS v1.14 Nginx入口控制器0.26.1 GitLab CE最新

这个问题也已经发布到Gitlab论坛上。 我认为即使在StackOverFlow上,专家们也会阅读它,所以我将发布它。 请允许双重邮寄


我想在AWS EKS上构建GitLab CE,并使用在Ingress中设置的子路径访问GUI。 如果Ingress中的
主机
设置为
/
,则可以正常访问,但如果它不是
/
,例如
/gitlab
,则无法访问。 使用Nginx入口控制器

我怎样才能解决它

先谢谢你

以下内容作为参考信息随附

版本
  • EKS v1.14
  • Nginx入口控制器0.26.1
  • GitLab CE最新版本
Nginx入口控制器设置 GitLab CE部署/Servicve/ConfigMap yaml 安格斯亚姆 这不起作用,但我将
重写目标设置更改为
/
,并将
路径更改为
/
,然后您可以使用GUI访问

Nginx入口控制器日志 从浏览器访问
/gitlab
子路径时的行为 URL将从
/gitlab
重定向到
/users/sign_in
,并且将在屏幕上找到
404

这是您正在访问的URL

http://{{{AWS CLB DNSName}}}/gitlab

重定向是作为应用程序的默认行为发生的,然后您得到了404,因为您没有“/users/sign_in”的条目。 因此,如果您为“/users/sign_in”添加另一个条目作为路径,它可能会起作用

另一种解决方法是使用/in路径并使用主机:

spec:
  rules:
    - host: gitlab.example.com
      http:
        paths:
        - path: /
          backend:
            serviceName: gitlab
            servicePort: 12080

重定向是作为应用程序的默认行为发生的,然后您得到了404,因为您没有“/users/sign_in”的条目。 因此,如果您为“/users/sign_in”添加另一个条目作为路径,它可能会起作用

另一种解决方法是使用/in路径并使用主机:

spec:
  rules:
    - host: gitlab.example.com
      http:
        paths:
        - path: /
          backend:
            serviceName: gitlab
            servicePort: 12080
apiVersion: v1
kind: ConfigMap
metadata:
  name: gitlab-deployment-env-config
data:
  GITLAB_OMNIBUS_CONFIG: |
    gitlab_rails['initial_root_password'] = "password"
    unicorn['worker_processes'] = 3
    postgresql['shared_buffers'] = "512MB"
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test-ingress
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
  rules:
    # host:
    - http:
        paths:
        - path: /gitlab(/|$)(.*)
          backend:
            serviceName: gitlab
            servicePort: 12080
210.148.59.67 - - [05/Dec/2019:00:44:31 +0000] "GET /gitlab HTTP/1.1" 302 158 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36" 515 0.037 [default-gitlab-12080] [] 10.0.32.140:80 158 0.040 302 0e252e1a2ac495d90790ec7d83546444
http://{{{AWS CLB DNSName}}}/gitlab
spec:
  rules:
    - host: gitlab.example.com
      http:
        paths:
        - path: /
          backend:
            serviceName: gitlab
            servicePort: 12080