Tag: nginx

nginx与.net核心kestrel – 多个vs单个实例

我有4个.net核心Web应用程序运行(3'微'服务和一个网站)。 我正在尝试使用docker来决定部署策略。 据我所知,我的select如下: 共有4个容器 – 每个容器都有一个核心应用程序和一个nginx实例 共有8个容器–4个.net核心容器和4个nginx容器 共5个容器 – 4个.net核心容器和共享的nginx容器 一些注释: 随着时间的推移,还将增加更多的服务。 这个设置将在linux上运行 在将来,当站点负载变高时,我会想要做负载平衡,并在自己的(多个)服务器上运行这四个网站中的每一个。 我也想要启动每个服务的多个实例,因为它们是无状态的。 问题是 ; 是否有充分的理由使用单独的nginx实例或所有.net应用程序使用相同的nginx容器?

使用Docker:如何扭曲Web应用程序与nginx Web服务器进行通信

我是使用Docker的新手。 我想用微服务架构方法重build我的单一应用程序。 我有一个需要与nginx服务器交互的Flask应用程序服务器。 传统上我们使用Gunicorn作为uWSGI,但是我们怎么能用Docker做同样的事? 以下是我的代码, 我有一个Flask应用程序,要求用户上传一个Excel文件 from flask import Flask, request, render_template import os app = Flask(__name__) default_key = '1' app.config["UPLOAD_FOLDER"] = "/app" @app.route('/', methods=['GET', 'POST']) def mainpage(): if request.method == 'POST': print request.form if request.method == 'POST' and request.form['submit'] == 'Check Results' : #TODO: copy the file into named volume f = request.files['file'] filename […]

运行Java相当于“docker exec -ti {容器} curl”

我有一个docker容器configuration为运行Nginx和redirectstream量。 我正在docker容器外运行验收testing,并需要我的URL请求被redirect。 目前从命令行运行“docker exec -ti {container} curl”会返回我想要的响应,但是我的Unirest HTTP客户端并不是通过容器发送请求(因为我没有告诉它,不确定如何/如果我可以)。 我认为我的解决scheme是在我的testing中编程创build“docker exec curl”请求来实现这个结果,但似乎无法find如何。 如果有人有一个想法如何实现这一点,将不胜感激。

未知的proxy_cache_keyvariables错误

当我用Docker Compose启动一个NGINX容器时,出现以下错误: nginx: [emerg] unknown "proxy_cache_key" variable 这些是我的nginx.conf中的代理cachingconfiguration proxy_cache_path /tmp/proxycache/ levels=1:2 keys_zone=proxy:512m max_size={{ PROXY_CACHE_SIZE|default('10g') }} inactive=48h; proxy_cache_path /tmp/pbcache/ levels=1:2 keys_zone=pb:512m max_size={{ PB_CACHE_SIZE|default('10g') }} inactive=48h; proxy_cache_key "$proxy_cache_key"; 在应用程序中有几个set proxy_cache_key的实例,如下所示: set $proxy_cache_key 2017$request_method$request_uri; 为什么这些setconfiguration不工作? 谢谢!

docker专用registrygetsockopt:连接被拒绝

我正在使用nginxconfiguration自签名证书,而我正在运行下面的命令我得到如下错误 root @ ip-172-31-12-38:/ etc / nginx / sites-available#docker push docker-reg.sogeti -aws.nl:5000/busybox 推送指的是一个仓库[docker-reg.sogeti-aws.nl:5000/busybox] Put http://docker-reg.sogeti-aws.nl:5000/v1/repositories/busybox/:dial tcp 13.126.242.122 :5000:getsockopt:连接被拒绝

如何在Docker中运行tomcat应用程序来configuration本地托pipe的nginx

我知道这个问题有点奇怪,但我无法find任何资源去做这件事。 任何人都可以解释我怎么能做到这一点。 我有nginx服务器托pipe在机器上,也有一个web应用程序使用tomcat在docker容器内部署。 现在在nginix的conf文件中 server { listen 80; server_name yourdomain.com; root /etc/tomcat8/webapps/apple; proxy_cache one; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8080/; } } 现在我有什么提供root文件夹path? 这是在docker集装箱内。 任何帮助将不胜感激。 谢谢

docker部署在nginix上的angularjs应用程序中启用ssl

我创build了一个angular度应用程序,并在Dockerfile中添加代码如下 FROM nginx COPY ./ /usr/share/nginx/html EXPOSE 80 成功部署在Linux容器(在Windows操作系统上)并通过networking访问此应用程序(例如http:172.10.1.2:8080 / Login.html)。 我没有创builddocker-compose文件但是我想在这个应用程序中启用ssl(例如https:// *:443 / Login.html)。 我是nginx和docker部署的新手,请让我知道这个过程

NGINX反向代理到docker容器运行web应用程序

在主机上,我有docker容器在端口4012,并在docker容器的Web应用程序运行在端口3000(0.0.0.0:4012->3000/tcp)所以访问webapp我只需要http://主机名: 4012和网页显示正常。 我希望能够去http:// hostname / metrics从我的浏览器运行相同的网页。 当我通过在主机上的nginx.conf中添加一个位置来完成这个工作时: 位置/指标{ proxy_pass http:// localhost:4012 ; } 所有加载的是index.html(我在http:// localhost:4012和http:// hostname / metrics上看到相同的html源代码),但是http:// hostname / metrics不会加载需要的javascript资源运行webapp。 从开发人员工具中,我看到非代理站点加载如下所示的资产: http:// hostname:4012 / assets / styles.css转到/ metrics的代理版本尝试加载,如下所示: http:// hostname / assets / styles.css的 它不会将/度量值附加到资产,就像它获取index.html …我在这里错过了什么? 如果这意味着什么,webapp将运行在监听器容器上的端口3000上的nodejs express服务器上。

docker群与弹性群集

我是弹性和docker群的初学者。 我花了两个星期的时间学习,并尝试准备一个有弹性的docker群。 我想准备一个有Docker群的弹性群。 我们可以轻松地使用缩放比例。 我认为我们需要swarm来做到这一点,并且弹性集群保持swarm节点之间的数据同步。 我也想为完整的自动化我想使用容器主机名configuration禅。 由于群体轮Rubin“elasticsearch”主机名应该返回所有的ip。 docker版本是:17.06.2-ce elastic docker image版本是:elasticsearch:latest docker – 撰写版本> = 3 首先,我试图遵循这个指令:sematext.com/blog/2016/12/12/docker-elasticsearch-swarm 这里nginx-proxy不是作为一个服务(docker-compose文件的一部分)工作的,但是它是作为容器工作的。 (docker运行)。 我不知道有什么区别。 但是这个想法本身已经准备好了docker的早期版本,并且不适合我。 这条指令背后的主要思想是,discovery.zen.ping.unicast.hosts具有容器名称。 Docker群体本身负载平衡,然后弹性可以find另一个节点。 因为nginx-proxy不能用作服务,所以我试着按照这个指令去做:derpturkey.com/elasticsearch-cluster-with-docker-engine-swarm-mode/ 我已经定义了nginx服务来连接弹性,我在这里configuration了所有的参数。 version: '3' services: elasticsearch: image: 'elasticsearch:5' command: [ elasticsearch, -E, network.host=0.0.0.0, -E, discovery.zen.ping.unicast.hosts=elasticsearch, -E, discovery.zen.minimum_master_nodes=1 ] nginx: image: 'nginx:1' ports: – '9200:9200' command: | /bin/bash -c "echo ' server { […]

将http://example.com:500redirect到https://secured_example.com/admin

我已经通过electron.jsbuild立了桌面应用程序,该应用程序请求http://example.com:5000上的前端服务器,我需要redirect到https://secure_example.com/admin 。 在前台服务器上,我有docker“nginx”和“front”服务,我无法重新安装应用程序。 我需要允许服务“前” http://前:5000将redirecthttp://example.com:5000到https://secure_example.com/admin时可用,但是当我尝试在浏览器中去http: //example.com:5000我被正确地redirect到https://secure_example.com/admin ,但我无法访问该页面。 pm2日志显示:1 | buildAdm | GET / admin 200 6.911 ms 但我需要请求GET / not / admin这是我的nginx.conf: server { server_name example.com; listen 5000; return 301 https://secure_example/admin$request_uri; } server { server_name secure_example.com; listen 443; ssl on; … location /admin { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto https; proxy_read_timeout 30s; […]