gpt4 book ai didi

docker - 如何使安全的 nginx-proxy 指向单个服务器中的不同路径?

转载 作者:太空宇宙 更新时间:2023-11-03 14:29:17 24 4
gpt4 key购买 nike

我想在我的 Docker 实例中使用 letsencrypt-nginx-proxy-companion。经过一些阅读后,我仍然找不到适合我的架构的解决方案:

  HOST => DOCKER
/ |
(vps) |
(containers)
- nginx-proxy
- letsencrypt-nginx-proxy-companion

- portainer [to manage self-hosted docker]
https://projects.domain.com:4488
- jenkins [to manage projects from github]
https://projects.domain.com:5533

- projects home [static website]
https://projects.domain.com
- project #1
https://projects.domain.com/project-1
- project #2
https://projects.domain.com/project-2

假设我知道如何管理多个子域(每个用于容器),我想念如何(以及在​​何处)为项目指定/path

如果我想通过 SSL 路由所有流量(不包括用于证书更新的脚本)并使用 Jenkins 管理项目,从哪里开始?以这种方式包装它是个好主意吗?

最佳答案

您是否尝试过将“location/”标签与 proxy_pass 和子过滤器一起使用?例如:

server {
server_name jenkins.domain.com;
listen 80 ;
return 301 https://$host$request_uri;
}

server {
listen 443 ssl;
server_name jenkins.domain.com;

ssl on;
ssl_certificate /etc/nginx/ssl/sslcertificate.crt
ssl_certificate_key /etc/nginx/sslkey.key;


proxy_set_header Accept-Encoding “”;
sub_filter_types ‘text/html’;
sub_filter_types ‘text/css’;
sub_filter ‘http://jenkins.domain.com‘ ‘https://$host';
sub_filter_once off;

server {
server_name projects.domain.com;
listen 80 ;
return 301 https://$host$request_uri;
}

location /project-1/{
proxy_pass http://jenkins.domain.com:4488/project-1/;
}
}

关于docker - 如何使安全的 nginx-proxy 指向单个服务器中的不同路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54219120/

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