nginx 容器反向代理到 podman 上的其他容器

nginx 容器反向代理到 podman 上的其他容器

有人能告诉我如何使用 NGINX 反向代理容器来运行 podman 吗?我找到的大多数文档都是针对 docker 的。理想情况下,我希望 Nginx 充当反向代理,这样我的主机上就可以有多个容器,nginx 会根据 url 代理到适当的容器库。请记住,这仅供我的私人网络内部使用。我目前只有 1 个容器,但计划添加更多。

例如,我有一个用于存放主页 home.xxx 的容器。我希望 nginx 代理到我的主页 home,这样我就不必输入 home.foo.org:8081

任何帮助都将受到赞赏。

答案1

如果您的应用程序在 home.foo.org:8081 上运行,您可以执行以下操作:

  1. 创建一个文件夹nginxcd进入其中
  2. 创建一个默认配置和一个应用配置
cat << EOF > default.conf
server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

}
EOF

cat << EOF > app.conf
server {
  listen 80;
  server_name home.foo.org;

  location / {
    proxy_pass http://<your_ip>:8081;
  }
}
EOF
  1. 启动nginx:podman run --name=nginx -p 80:80 -v <your_path>/nginx:/etc/nginx/conf.d:Z -d docker.io/library/nginx

瞧,现在您的应用程序已在 HTTP 上可用。请注意,如果您需要 SSL/TLS,则应查找端口 443 并进行相应更改。

相关内容