bsmeding.nginx_docker
Nginx 反向代理助手
NGINX 反向代理服务器
此角色在我的角色 bsmeding.docker 上的 Linux 发行版中安装了 Docker 的 Ubuntu 上进行了测试。
在部署 Docker 容器的平台上曾用作前端。 默认镜像来自 Linuxserver: https://docs.linuxserver.io/images/docker-nginx
目前可用的配置选项有限,将会在后续添加。
反向代理配置
对于每个容器(或其他服务/服务器),您可以使用变量列表 nginx__proxy_confs_subdomain
添加代理配置。如果要转发到容器,请将它们连接到相同的 Docker 网络以便于名称解析和安全性。
此示例将把对 dash.example.com
的 80 端口的请求转发到名为 dashboard
的容器的 9090 端口(http)。
nginx__proxy_confs_subdomain:
- server_name: dash.example.com
listen: 80
enable_ldap: false
enable_authelia: false
default_upstream_proto: http
default_upstream_url: dashboard
default_upstream_port: 9090
网站文件
如果您想复制一个网站目录,请将其放置在 /files/nginx/sites/<site_directory>
或在部署多个具有不同网站的服务器时放在 /files/nginx/<inventory_hostname>/sites/<site_directory>
。
网站配置文件
如果您希望复制特定的站点配置文件,请将其放在您的剧本目录中 /files/nginx/site-confs/
,它们必须位于 nginx 站点配置文件 <site.conf> 中,或者放在 /files/nginx/<inventory_hostname>/site-confs/
中以区分主机配置。
https / ssl / 证书
如果您需要证书,请将其放在您的剧本目录下的 files/nginx/certs/
中,命名为 website_url.crt
和 website_url.key
。
当密钥文件被密码保护时,请将其添加到您的子域变量中,以便可以通过 ansible-vault 进行保护。
nginx__proxy_confs_subdomain:
- server_name: dash.example.com
listen: 80
listen_https: 443 # 需要启用 https
cert_key_passphrase: 'sbsta261da' # 如果设置了 cert.key 文件的密码的示例。否则无需设置此变量
enable_ldap: false
enable_authelia: false
default_upstream_proto: http
default_upstream_url: dashboard
default_upstream_port: 9090
Manage and run the Nginx container from Linuxserver(default).
ansible-galaxy install bsmeding.nginx_docker