gpt4 book ai didi

docker - 在我的 NGINX 中的 Docker 容器 + 反向代理中设置 Rundeck

转载 作者:行者123 更新时间:2023-12-04 18:43:24 25 4
gpt4 key购买 nike

我对 docker 和 nginx 反向代理方法有点陌生,所以我在理解我的限制或为实现这一目标应该采取的步骤时遇到了一些麻烦。下面我将列出我正在使用的设置以及我希望产品的外观。
_
设置:

  • 虚拟机:Ubuntu 16.04.7 LTS
  • nginx/1.10.3
  • docker 20.10.2
  • rundeck 图片(从 here 下载)*

  • _
    Nginx default.conf 文件
    server {
    listen 80;
    server_name vmHostname;
    return 301 https://vmHostname$request_uri;
    }

    server {
    listen 443 ssl;
    server_name vmHostname;
    ssl_certificate /etc/nginx/conf.d/vmHostname.domain.corp.cert;
    ssl_certificate_key /etc/nginx/conf.d/vmHostname.domain.corp.key;
    return 301 https://vmHostname.domain.corp$request_uri;
    }

    # Main webserver route configuration
    server {
    listen 443 ssl;
    server_name vmHostname.domain.corp;
    ssl_certificate /etc/nginx/conf.d/vmHostname.domain.corp.cert;
    ssl_certificate_key /etc/nginx/conf.d/vmHostname.domain.corp.key;
    #===========================================================================#

    # Me trying to host a flask app and failing
    location /example-app/ {
    rewrite ^/example-app(.*) /$1 break;
    proxy_pass http://example-app:5000;
    proxy_set_header Host $host/example-app;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    }


    # Me trying to route rundeck and failing
    location /rundeck/ {
    rewrite ^/rundeck(.*) /$1 break;
    proxy_pass http://rundeck:4440;
    proxy_set_header Host $host/rundeck;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    auth_request /auth/;
    }
    }
    _
    我的 Docker 镜像
    User@vmHostname:/etc/nginx/sites-enabled$ docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    appsession_example-app latest b2afe846d7f5 3 days ago 914MB
    nginx latest f6d0b4767a6c 2 weeks ago 133MB
    jacekkow/rundeck latest d0023aa3b7a9 10 months ago 701MB
    hello-world latest bf756fb1ae65 13 months ago 13.3kB
    python 3.7.4-alpine3.10 f309434dea3a 15 months ago 98.7MB
    _
    我的 Docker 容器
    User@vmHostname:/etc/nginx/sites-enabled$ docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    d79261bc568d nginx:latest "/docker-entrypoint.…" 2 days ago Up 2 days 80/tcp funny_beaver
    669e057b2500 jacekkow/rundeck "/bin/sh -c /run.sh" 2 days ago Up 2 days 0.0.0.0:4440->4440/tcp rundeck
    _
    我想要/需要的:
  • 我想有一个设置,这个 vm 用于托管 flask 应用程序并同时运行 rundeck。根据我目前的理解(可能是错误的),我必须下载 rundeck 的图像,将其移动到容器中,进入我的 rundeck 配置文件并设置反向代理,viola!?

  • 现在,当我访问 vmHostname.domain.corp:4440 时,我的 rundeck 已“启动”,但我无法通过登录页面。我不完全确定从这里去哪里。另外,我意识到我只是在我的反向代理中编写 rundeck,但还没有设置 nginx 如何与 docker 通信以启用路由。
    抱歉发了这么长的帖子……只是想确保我提供了所有信息……绝望的小声帮助大声笑

    最佳答案

    您需要在 Rundeck rundeck-config.properties 上进行设置归档 grails.serverURL到 Rundeck 的 NGINX“输出”,位于 official image您可以使用 RUNDECK_GRAILS_URL 进行设置环境变量。
    NGINX 配置:

    server {
    listen 80 default_server;
    server_name rundeck-cl;

    location / {
    proxy_pass http://rundeck:4440;
    }
    }
    这是一个完整的“dockerized”示例,它在“config”目录中使用上面的 NINGX 配置,检查 docker-compose 定义的第 17 行:
    version: "3.7"
    services:
    rundeck:
    build:
    context: .
    args:
    IMAGE: ${RUNDECK_IMAGE:-rundeck/rundeck:3.3.8}
    container_name: rundeck-nginx
    ports:
    - 4440:4440
    environment:
    RUNDECK_GRAILS_URL: http://localhost
    RUNDECK_SERVER_FORWARDED: "true"
    nginx:
    image: nginx:alpine
    volumes:
    - ./config/nginx.conf:/etc/nginx/conf.d/default.conf:ro
    ports:
    - 80:80

    关于docker - 在我的 NGINX 中的 Docker 容器 + 反向代理中设置 Rundeck,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65997303/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com