Tag: nginx

反向代理nginx和Express服务器返回502

我正在运行一个带有Nginx反向代理configuration的VPS,转发给三个Angular网站。 每个站点都在Express服务器后面的Docker容器中运行。 我起床的前两个网站没有问题。 他们是简单的Angular网站,在项目目录的底部有server.js和index.html文件。 对于第三个站点我有一点点爱好者,并使用Grunt将项目文件构build到一个名为public的新目录中。 我的目标是从该公共目录中查看该站点。 这是我的nginx.conf文件。 请注意,前两个服务器块正在按预期工作。 然而,浏览到第三个结果是“502错误请求”: server { listen 80; server_name domain1.com domain2.ca; location / { proxy_pass http://127.0.0.1:9001; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_redirect off; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 80; server_name sub1.domain1.com sub1.domain2.ca; location / { proxy_pass http://127.0.0.1:9002; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_redirect off; proxy_set_header […]

nginx的proxy_pass和docker – 我不想在地址栏中的端口号

在mywebsite.com上,我用wordpress运行docker容器。 我开始了 docker run -p 8000:80 –name docker-wordpress-nginx -d 和 docker ps 节目 0.0.0.0:8000->80/tcp 在我的主机上我有nginx运行 server { listen 80; … server_name mywebsite.com www.mywebsite.com; … location / { proxy_pass http://localhost:8000/; proxy_set_header Host $host; } 当我去这里的时候 mywebsite.com 它带来了我的站点的WordPress索引页面,但是现在在浏览器中的地址 mywebsite.com:8000 代替 mywebsite.com 我期望的 一切看起来像我想要的,除了我总是得到该地址的端口号 http://mywebsite.com:8000/2015/08/01/hello-world/ 相反,我想要 http://mywebsite.com/2015/08/01/hello-world/ 一般来说,我的意思是,而不是 http://mywebsite.com:8000/some_blog/ 我想要 http://mywebsite.com/some_blog/ 有任何想法吗?

Docker:如何在docker中运行两个具有相同端口(比如说80)的web应用(app1,app2)

我试图运行app1。 在访问网页如: http:// localhost:80我能够看到内容。 在dockerfile中,我为app1添加了一个html文件,并暴露了端口80.但是我不知道如何处理app2。 我是否需要添加HTML文件相同的APP1否则我可以接近别的。 任何人都可以告诉我如何app2申请。 dockerfile: FROM ubuntu:14.04 RUN apt-get update RUN apt-get install -y nginx COPY index.html /usr/share/nginx/html/index.html ENTRYPOINT ["/usr/sbin/nginx","-g","daemon off;"] EXPOSE 80 为此我需要创build两个图像,需要看到两个应用程序正在运行或不在同一个端口上。

nginx php-fpm崩溃(也许docker工人)

我使用下面的Dochkerfile和configuration文件来创build我的nginx和php-fpm容器。 Dockerfile: FROM richarvey/nginx-php-fpm RUN php5enmod mcrypt RUN rm -f /etc/nginx/sites-available/default.conf RUN rm -f /etc/nginx/sites-enabled/* COPY config/default.conf /etc/nginx/sites-available/default.conf RUN apt-get update && apt-get install -y php5-dev nano ENV TERM xterm COPY config/nginx.conf /etc/nginx/ nginx.conf user www-data; worker_processes 1; pid /run/nginx.pid; events { worker_connections 1024; # multi_accept on; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format […]

Docker中nginx提供的样式表在页面上不可用

我正在docker容器中运行nginx。 以下是我的nginx.conf文件: worker_processes 4; events { worker_connections 1024; } http { types { text/css css; } upstream appserver { server:3000; } server { listen 80; server_name localhost; root /public; try_files $uri/index.html $uri @appserver; location @appserver { proxy_pass http://appserver; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; } error_page 500 502 503 504 /500.html; client_max_body_size 4G; […]

Nginx的docker容器返回了损坏的JSON文件,重命名文件

我有一个JSON文件,nginx直接作为一个静态文件。 出于某种原因,由特定的URL服务的json文件已经被破坏,以至于在Chrome / cURL中查看它导致奇怪的行为,例如乱序输出,“字符”等。 如果我重命名静态文件,它输出完全正常。 服务器是一个docker容器,错误是容器重新启动( docker rm/run ),甚至重build图像( docker build ),所以我想知道这个问题是一些如何相关的boot2docker或有机会的容器/图像保留某种caching? 编辑: 看起来像这个问题之前发现https://github.com/boot2docker/boot2docker/issues/705 docker机也可能inheritance这个问题?

HTTP / 2 nginx强制redirectHTTP到HTTPS打破预期的行为

我已经设置了一个使用支持HTTP / 2的最新版本的nginx的示例项目。 我正在closures这个官方博客文章: https : //www.nginx.com/blog/nginx-1-9-5/ 下面是一个工作代码示例(详细介绍如何在README中设置所有内容 – 下面粘贴了nginx.conf ): https : //github.com/Integralist/Docker-Examples/tree/master/Nginx-HTTP2 user nobody nogroup; worker_processes auto; events { worker_connections 512; } http { upstream app { server app:4567; } server { listen *:80 http2; location /app/ { return 301 https://$host$request_uri; } } server { listen *:443 ssl http2; server_name integralist.com; ssl_certificate /etc/nginx/certs/server.crt; […]

在AWS Elastic Beanstalk上部署Dockerized Symfony2应用程序

什么是部署多容器docker symfony应用程序的正确方法? 我有以下的知识基础和情况: 我的docker-compose环境在本地工作,由nginx,php5-fpm,memcached,mysql和mailcatcher组成 我正在使用多容器EB应用程序,目标是使用单独的configuration运行单独的“testing”和“生产”环境 我已经知道我不能简单地在EB内build立整个事物,并且必须已经build立了图像,因此我将它们全部放在这里: https : //hub.docker.com/u/sunbake/dashboard/ 我知道我可以为每个EB环境设置自定义的环境variables 我知道SYMFONY__WHATEVER_NAME可以很容易地用作应用程序参数 现在什么让我感到困扰,并且正在问如何以更好的方式做到这一点? 插入敏感值(如数据库密码)似乎有点可疑 – 如果没有别的,HTMLinput字段值可以存储在浏览器caching/历史logging中 为整个操作系统设置敏感数据的环境variables大致相同 – 假设有人获得任何types的系统访问权限,然后获取envvariables。 即使这是唯一可能的事情,获取明文密码是不好的 为了将环境variables通过nginx获取到通过php-fpm运行的PHP skript,nginxconfiguration文件必须通过它们。 换句话说,如果我想使用这种方法,我必须在我的nginx.conf中有硬编码的参数(是的,没有值,但读了)。 第八个子弹是我的整个问题: 鉴于本文中的第三个项目符号,这意味着我必须重新构build整个图像,每次我想添加一个参数,这可以完成,但似乎是一个开销,也意味着我不能使用图像的多个应用程序,可能有不同的参数 鉴于形象和来源必须是公开的(我不打算在这个用例中支付docker中心),它也公开了应用程序如何工作的部分。 例如,如果一个潜在的攻击者能够以某种方式执行代码来列出我的envvariables,他就知道哪个envvariables要准确地查找。 我希望使用整个bitbucket-docker-dockerhub-eb在多个环境中自动部署: 在本地主机上开发一组特定的docker镜像(mailcatcher,本地mysql实例,启用了xdebug) 在AWS EB上testing环境,在RDS中没​​有邮件收集器和数据库 生产环境相同的testing之一,但没有xdebug和一些小的优化调整 当然必须有一个方法如何做到这一点。 我相信我已经走了很远,但是我有些不妥。 任何提示将不胜感激。

dockerized nginx“超时”几分钟后

我有nginx运行在docker容器使用股票nginx图像。 它是代理运行django应用程序的gunicorn。 最后一次连接5秒后,我看到一些“客户端172.18.64.88closureskeepalive连接”。 然后,如果我等待5分钟或更长时间,则客户端上首次尝试连接错误。 如果我立即点击Firefox默认的连接问题的“再试一次”button,它会连接。 我目前使用docker 1.90rc1和nginx 1.9.5 nginx -V nginx version: nginx/1.9.5 built by gcc 4.9.2 (Debian 4.9.2-10) built with OpenSSL 1.0.1k 8 Jan 2015 TLS SNI support enabled configure arguments: –prefix=/etc/nginx –sbin-path=/usr/sbin/nginx –conf-path=/etc/nginx/nginx.conf –error-log-path=/var/log/nginx/error.log –http-log-path=/var/log/nginx/access.log –pid-path=/var/run/nginx.pid –lock-path=/var/run/nginx.lock –http-client-body-temp-path=/var/cache/nginx/client_temp –http-proxy-temp-path=/var/cache/nginx/proxy_temp –http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp –http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp –http-scgi-temp-path=/var/cache/nginx/scgi_temp –user=nginx –group=nginx –with-http_ssl_module –with-http_realip_module –with-http_addition_module –with-http_sub_module –with-http_dav_module –with-http_flv_module –with-http_mp4_module –with-http_gunzip_module –with-http_gzip_static_module […]

如何使用docker来组织一个同构的应用程序的体系结构?

我正在开发一个同构的应用程序。 这里的关键时刻是前端服务器和客户端上的js代码是相同的。 假设我们有以下服务: 前端 后端 注释 数据库 当然,这些服务中的每一个都在它自己的docker集装箱中。 有需要从客户端访问backend和comments服务(分别为api.app.com和comments.app.com )。 在这里使用nginx作为反向代理似乎很合理。 所以这些是新增的容器: nginx的 领事 领事模板 registrator 最后一个问题是将*.app.comparsing为nginx 。 如何实现这一点,而不需要购买app.com域名? 当然,解决scheme是将DNS添加到每个容器和开发主机。 但是,我应该使用什么docker容器作为DNS服务器? 或者也许有更好的build筑?