【发布时间】:2021-02-01 17:25:24
【问题描述】:
我对 docker 和 nginx 反向代理方法有点陌生,所以我在理解我的限制或为使这成为可能而应该采取的步骤时遇到了一些麻烦。下面我将列出我正在使用的设置以及我希望产品的外观。
_
设置:
- 虚拟机:Ubuntu 16.04.7 LTS
- nginx/1.10.3
- 码头工人 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 用于托管烧瓶应用程序并同时运行 rundeck 的设置。根据我目前的理解(可能是错误的),我必须下载 rundeck 的图像,将其移动到容器中,进入我的 rundeck 配置文件并设置反向代理,viola!?
现在,当我访问 vmHostname.domain.corp:4440 时,我的 rundeck 已“启动”,但我无法通过登录页面。我不完全确定从这里去哪里。另外,我意识到我只是在我的反向代理中编写 rundeck,但还没有设置 nginx 将如何与 docker 通信以启用路由。
抱歉,这篇文章太长了……只是想确保我提供了所有信息……绝望的小声帮助,哈哈
【问题讨论】:
标签: docker ubuntu nginx containers rundeck