gpt4 book ai didi

docker - 在 jwilder/nginx-proxy Docker 容器中重写 URL

转载 作者:行者123 更新时间:2023-12-02 18:48:03 34 4
gpt4 key购买 nike

我正在对一些网站进行容器化。我希望能够迁移一些重写规则,以自动在请求中的域名中附加或删除 www

jwilder/nginx-proxy Docker 容器中的方式/位置 nginx.tmpl或者我可以添加一些简单的重写规则吗?

适用于所有代理容器的一个规则是可以的,不过如果可以为每个容器指定规则就更好了。

最佳答案

jwilder/nginx-proxy docker 镜像允许您为每个虚拟主机添加配置,您可以在其中添加重写规则,如 here 中所述。 :

要为每个 VIRTUAL_HOST 添加设置,请在 /etc/nginx/vhost.d 下添加配置文件。每个 VIRTUAL_HOST 文件必须完全按照 VIRTUAL_HOST 命名。

为了允许在添加和删除后端时动态配置虚拟主机,最有意义的是将外部目录挂载为/etc/nginx/vhost.d,而不是使用派生镜像或挂载单独的配置文件.

例如,如果您有一个名为 www.app.example.com 的虚拟主机,您可以为该主机提供自定义重写配置,如下所示:

/etc/nginx/vhost.d 下创建一个名为 www.app.example.com 的文件,然后添加以下内容:

return 301 $scheme://app.example.com$request_uri;

然后创建一个新的nginx容器并将该目录挂载到其中。如果您检查了 /etc/nginx/conf.d/default.conf 您会注意到虚拟主机已被修改为如下所示:

server {
server_name www.app.example.com;
listen 80 ;
access_log /var/log/nginx/access.log vhost;
include /etc/nginx/vhost.d/www.app.example.com;
location / {
proxy_pass http://www.app.example.com;
}
}

include 行包含我们编写的return 语句,当然您可以向其中添加更多重写规则

关于docker - 在 jwilder/nginx-proxy Docker 容器中重写 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55129752/

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