有人能告诉我如何使用 NGINX 反向代理容器来运行 podman 吗?我找到的大多数文档都是针对 docker 的。理想情况下,我希望 Nginx 充当反向代理,这样我的主机上就可以有多个容器,nginx 会根据 url 代理到适当的容器库。请记住,这仅供我的私人网络内部使用。我目前只有 1 个容器,但计划添加更多。
例如,我有一个用于存放主页 home.xxx 的容器。我希望 nginx 代理到我的主页 home,这样我就不必输入 home.foo.org:8081
任何帮助都将受到赞赏。
答案1
如果您的应用程序在 home.foo.org:8081 上运行,您可以执行以下操作:
- 创建一个文件夹
nginx
并cd
进入其中 - 创建一个默认配置和一个应用配置
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
- 启动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 并进行相应更改。