Tag: nginx

如何使用docker构build多租户应用程序

我对docker概念非常陌生,并且知道它的基本知识。 我只是想知道如何使用docker构build多租户应用程序。 哪里的容器将使用本地托pipe的数据库与不同的架构。与nginx我们可以做反向代理,但我们如何能够实现它? 因为每个容器都将被localhost:8080访问,我们如何添加上游和服务器部分。 如果有人向我解释,这将是非常有帮助的。

docker – NGINX Proxy +让我们encryption

我从Docker开始。 在开始,我想在代理和SSL(只在我的机器上本地)在nginx上设置简单的服务器,所以我做这样的事情: version: '2' services: nginx-proxy: image: jwilder/nginx-proxy container_name: nginx-proxy ports: – "80:80" – "443:443" volumes: – ./certs:/etc/nginx/certs:ro – /etc/nginx/vhost.d – /var/run/docker.sock:/tmp/docker.sock:ro – /usr/share/nginx/html labels: – com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy=true nginx-proxy-ssl: image: jrcs/letsencrypt-nginx-proxy-companion container_name: nginx-proxy-ssl volumes: – ./certs:/etc/nginx/certs:rw – /var/run/docker.sock:/var/run/docker.sock:ro volumes_from: – nginx-proxy whoami2: image: jwilder/whoami container_name: whoami2 environment: – VIRTUAL_HOST=vertex.local.com – LETSENCRYPT_HOST=vertex.local.com – LETSENCRYPT_EMAIL=contact@vertex.local.com networks: default: external: […]

如何在主机上运行nginx运行docker容器中的rails应用程序?

我正在处理需要的场景:1.在主机上运行的nginx 2.在docker容器中运行的rails应用程序 我最初的工作包括将Dockerfile添加到主机上的rails应用程序目录中,如下所示: ubuntu@ubuntu-xenial:~/rails_docker$ cat Dockerfile FROM ruby:2.1-onbuild ENV HOME /home/rails/webapp RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs WORKDIR $HOME # Install gems ADD Gemfile* $HOME/ RUN bundle install # Add the app code ADD . $HOME EXPOSE 8080 EXPOSE 5432 由于我在主机上已经有了nginx,所以它被configuration为查看主机上rails应用程序所在的目录: ubuntu@ubuntu-xenial:~$ cat /etc/nginx/sites-available/www.testblog.io.conf # MANAGED BY PUPPET server { […]

Docker nginx-proxy:不能从jenkins的域名中访问gitlab

我目前正在为我的公司开发一个工具链,在那里我使用Docker来设置Gitlab和Jenkins。 我使用jwilder / nginx-proxy从外部访问域名。 我的问题是,当我尝试configurationjenkins有权访问我的Gitlab,我得到一个超时错误。 似乎容器之间不能通过使用域名进行交互。 我发现这个问题与我有同样的问题,不幸的是,他的解决scheme没有解决我的问题。 你有什么想法,我怎么可以使jenkins通过使用域名获得访问Gitlab? 编辑: 这是我的docker-compose文件 version: '3' services: nginx: container_name: nginx restart: always image: jwilder/nginx-proxy:latest ports: – 80:80 – 443:443 volumes: – conf:/etc/nginx/conf.d – vhost:/etc/nginx/vhost.d – html:/usr/share/nginx/html – /home/nginx/certs:/etc/nginx/certs:ro – /var/run/docker.sock:/tmp/docker.sock labels: – "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy=true" letsencrypt: container_name: letsencrypt restart: always image: jrcs/letsencrypt-nginx-proxy-companion:latest depends_on: – nginx volumes: – conf:/etc/nginx/conf.d – vhost:/etc/nginx/vhost.d – […]

Nginx / Node.JS – 只有在节点服务器完全启动后才启动Nginx

如何configurationnginx systemd服务才能在node.js服务器完全启动后启动。 我有一个具有1个CPU和5个systemd服务的Ubuntu服务器: nginx_dashboard.service 4 X dashboard_customer@.service 所有服务都在启动时运行,并且都运行docker容器。 只有nginx容器暴露在外,并且是连接到4 node应用程序的那个容器。 问题在于,由于1个CPU和所有服务一起启动, node应用程序需要几秒钟才能启动(10-13秒),而较轻的nginx立即启动。 我尝试将Requires和After添加到nginx服务中,但是由于节点服务正在运行,所以它没有帮助,但是容器内的应用程序本身需要花费时间来加载。 如果nginxclosures,我的内容交付系统(在这种情况下,CloudFlare)知道提交一个临时页面。 但是由于这个延迟,nginx已经启动,我的仪表板停机了几秒钟。 问题是如果我可以防止这种延迟,并且只有在node.js应用程序完全运行之后才启动nginx,而不仅仅是docker容器。

Docker设置nginx https连接被拒绝

我已经在很多方面尝试在docker环境中设置nginx httpsconfiguration。 但在docker nginx日志中没有显示日志。 其实,网站拒绝连接或网站拒绝连接。 docker工人撰写文件: version: "3" services: nginx: container_name: nginx build: context: . dockerfile: ./nginx/Dockerfile ports: – "80:80" – "443:443" volumes: – .:/work depends_on: – django django: container_name: django build: context: . dockerfile: ./Dockerfile expose: – "8000" volumes: – .:/work command: uwsgi –ini ./uwsgi.ini 在nginx conf中: server { listen 80; server_name www.canarytechnologies.com; rewrite […]

docker化的Web服务在共同的nginx rproxy下编排:通过rproxy路由中间stream量

一个以nginx作为主机中央rproxy的docker容器占用端口80.它将每个基于域名的请求redirect到N个内部(django,flask)docker化服务,每个服务暴露8000或5000个。 每个服务都有一个相应的子域,用于parsing主机的(AWS EC2实例)公共IP。 这些条目位于注册商(domain.com)的DNS Alogging以及/etc/hosts的/etc/hosts中。 你将如何通过rproxy容器使内部服务相互通话而不需要拨打公共互联网? 例如,如果我监视来自主机的调用dns调用: sudo tcpdump -vvv -s 0 -l -n port 53 如果我向主持人提出要求: curl a.mydomain.com 没有传出调用,但是如果我从一个容器的shell发出相同的请求,那么我在tcpdump控制台中得到结果: 15:16:43.115879 IP (tos 0x0, ttl 255, id 50739, offset 0, flags [none], proto UDP (17), length 81) 172.31.0.2.53 > 172.31.21.245.35952: [udp sum ok] 28855 q: A? a.mydomain.com. 1/0/0 a.mydomain.com. [1m] A <public-IP-here> (53) 我的主机的/etc/resolv.conf文件: nameserver […]

在nginx后面的Docker容器内的couchbase

嗨,我有一个问题,以下configuration:我试图实现是redirect到一个特定的端口到一个docker集装箱的stream量到同一个端口,使用nginx反向代理添加SSLconfiguration/强制: server { listen MY_PUBLIC_IP; return 301 https://$host$request_uri; } server { server_name couchbase.mydomain.com www.couchbase.mydomain.com; access_log /var/log/virtualmin/couchbase.mydomain.com_access_log; error_log /var/log/virtualmin/couchbase.mydomain.com_error_log; listen MY_PUBLIC_IP:8091 ssl; ssl_certificate /home/mydomain/domains/couchbase.mydomain.com/ssl.cert; ssl_certificate_key /home/mydomain/domains/couchbase.mydomain.com/ssl.key; ssl on; location / { proxy_pass http://docker-conatiner-ip:8091; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } 当我想访问https://couchbase.mydomain.com:8091它不wprk但是当我改变: listen MY_PUBLIC_IP:8091 ssl; listen MY_PUBLIC_IP:443 ssl; 并访问https://couchbase.mydomain.com它的作品,有什么想法?

nginx与auth_basic_user_file

我运行nginx与basic_auth作为一个Web应用程序的容器套件中的一个docker容器。 server { auth_basic "Restricted Area"; auth_basic_user_file /assets/config/auth/passwd; } 截至星期二(7月11日 – 由于nginx的docker图像已经更新,但这个问题发生在所有图片我已经尝试)出现login框,但密码不再接受 – login框只是保持重现。 我已经检查了docker容器直接和容器本身的密码文件是正确的,似乎有正确的读取权限。 当我将两个auth_basic行复制到nginx中的其他所有位置(api 除外 )时,login框会接受预期的密码。 location /api/ { proxy_pass https://api_servers/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $server_name; # auth_basic "Restricted Area"; # auth_basic_user_file /assets/config/auth/passwd; } 当我将api中的auth行重新打开时,login失败。 api位置的设置与其他位置相同。 这里发生了什么?

失败(404错误)通过AWS EBS泊坞窗环境中的Nginx访问Amazon Linux API泊坞窗服务

我已经使用Ubuntu平台和NGINX创build了具有多容器Dockers的AWS Elastic Beanstalk(EBS)环境。 我已经将NGINX安装在一个单独的docker容器中,并将来自NGINX的API调用转发给其他API泊坞窗。 使用Amazon Linux OS创build的API泊坞窗。 分配给NGINX的80端口和其他API在不同的端口映射到NGINX(nginx.conf)。 使用单个任务定义将所有Docker部署到Elastic Beanstalk环境中。 NGINX成功在EC2实例中成功运行,并正常工作在80端口。 我还部署了一个API Docker容器并将其映射到NGINX中。 通过NGINX访问API时出现“404未find”错误。 请检查下面的NGINXconfiguration文件,并帮助我解决问题。 NGINX Conf: upstream save_user_video-api_hosts { server dev-save-user-video:6666; } upstream user_complaints-api_hosts { server dev-user-complaints:7777; } server { listen 80; server_name xxx.yyyy.me; location /save-user-video { proxy_pass http://save_user_video-api_hosts; } location /user-complaints { proxy_pass http://user_complaints-api_hosts; } } }