Tag: nginx

NGINX反向代理不加载资产,泊坞窗网站应用程序上的相对URL

我在Docker容器上的服务器上运行了多个webapps,这些容器映射到自己的端口。 我试图用NGINX来完成反向代理,所以我不必去http://hostname:4012到webapp,而是http://hostname/metrics来到同一个页面。 通常情况下,一个简单的proxy_pass会这样工作: location /metrics/ { proxy_pass http://localhost:4012/; } 这工作的意义,它到了index.html,但不会加载HTML中的任何脚本。 我通过添加一个sub_filter来在html中创build一个基本url, location /metrics/ { proxy_pass http://localhost:4012/; sub_filter_once off; sub_filter 'http://localhost:4012/' '$scheme://$host/metrics/'; sub_filter '<head>' '<head>\n<base href="http://hostname:4012/">'; } 这允许包含在index.html中的主JS文件加载,显示页面,但不完全。 某些图标和字体丢失,通过.css中的相对URL调用。 但更重要的是,我的一个应用程序的一些JS是坏的。我点击我的网页上的button,它什么都不做,抛出这个错误: ReactErrorUtils.js:51未捕获DOMException:无法在“历史logging”上执行“pushState”:无法创buildURL为“ http://主机名:4012 / report / 81e006c3-949f-4b5d-82b8-ee8c8ba0e337 ”的历史logging状态对象一个源文件“ http://cname.net ”和URL“ http://cname.net/metrics/ ”的文件。 任何想法如何我可以解决这个? 奇怪的是,一个单独的应用程序将完全工作,如果我把它放在nginx的根/位置本身,如下所示: location / { proxy_pass http://localhost:4012/; } 任何想法,我怎么能得到这个与/metrics/位置的工作,所以我可以让我所有的应用程序代理?

Dockerfile Image命令'/ bin / sh -c apt-get install -y mysqld-server'返回一个非零的代码:100

我想用这个规范制作一个docker镜像: Ubuntu:16.04 /最新 PHP 7.x nginx:最新的MySQL 5.x 公开港口80和443 目录/来源 可选的 : VIM PHPcomposer php 我的Dockerfile: # Download base image ubuntu 16.04 FROM ubuntu:16.04 # Update Ubuntu Software repository RUN apt-get update # Install PHP, nginx, mySQL RUN apt-get install -y nginx php7.0-fpm && \ rm -rf /var/lib/apt/lists/* # Install MySQL and set default root password […]

将本地Docker WP网站暴露给networking和互联网

我有一个问题,我似乎无法expression清楚,find答案。 问题: 我想将我的本地10-up本地WP泊坞窗网站公开给我的networking(这样当人们在我的LAN上时,人们可以帮我login和写信),并且还有一个隧道,以便我可以发送一个链接到有人通过互联网,所以他们可以查看网站的批准等我宁愿不经过一个阶段环境,如果我不必。 我的想法 当我最初进入Docker的时候,我不记得我在看什么video,但是我运行了一个特定的命令(如docker -p 80:8080),这些命令暴露了这些端口,以便我的networking上的所有计算机都能查看网站。 现在我正在使用一个Docker镜像(10-up WP-Local Docker镜像https://github.com/10up/wp-local-docker ),它使用了docker-compose.yml文件,各种所需的容器。 我不能为了我的生活而弄清楚如何恢复到以前的状态。 我敢肯定有一些东西我可以放在docker-compose文件中,它会自动执行此操作,我确定有一些程序或软件包可以安装,这将创build一个隧道,我可以用它来显示我的网站互联网。 我基本上只需要一个正确的方向。 提前致谢!

Docker – Permission denied to connect to socket with nginx

我运行docker与2服务:nginx和一个烧瓶应用程序的fcgisockets。 当nginx试图连接到它给以下sockets: [暴击] 7#7:* 1 connect()unix:/usr/src/app/flaskapp-fcgi.sock失败(13:权限被拒绝) docker工人,compose.yml: version: "3" services: app: build: app/ volumes: – app-volume:/usr/src/app http_proxy: build: nginx/ ports: – '80:80' – '443:433' depends_on: – app volumes: – app-volume:/usr/src/app restart: always volumes: app-volume: Dockerfile nginx: FROM nginx COPY nginx.conf /etc/nginx/nginx.conf Dockerfile应用程序: FROM python:3.6.2-onbuild CMD ["python", "app.fcgi"] app.fcgi: #!/usr/bin/env python3 from flup.server.fcgi import WSGIServer #flask […]

NGINX子域在Docker环境中redirect?

我的应用程序在一个Docker容器中包含Rails应用程序,在另一个中包含NGINX反向代理。 我有一个用例,我需要redirect一个链接: https://signup.mydomain.com/abc123f 至 https://api.mydomain.com/v1/link/abc123f 在我的本地docker-compose环境中,我希望能够访问http://signup.myapp/abc123f并将其redirect到http:// myapp / link / abc123f 。 这是我的nginxconfiguration文件: # This is included into an `http` block in the main nginx.conf gzip on; gzip_http_version 1.0; gzip_proxied any; gzip_disable "msie6"; gzip_types text/plain text/xml text/css text/comma-separated-values application/json; upstream origin_server { server ${ORIGIN_HOST}:${ORIGIN_PORT}; } server { listen 80; server_name signup.$host; return 301 http://$host/; } […]

如何有条件地在docker-compose.yml中运行不同的configuration?

我已经在活动服务器上通过certbotconfigurationSSL。 我在docker-compose.yml nginx部分有一个卷映射: volumes: … – /etc/letsencrypt:/etc/letsencrypt 这在活服务器上工作得很好,但是我在本地机器上有不同的设置,我运行应用程序并在http://localhost上看到它。 我想我的本地机器上不需要SSL,所以如果它在本地运行的话,我可能会排除这部分安装。 此外,这种情况下,我想我将不得不在本地和现场configuration一些其他的东西。 所以,问题是如何正确区分本地和现场设置之间的差异,并根据环境自动应用(半)?

在一个dockerfile中将PHP-fpm与nginx结合在一起

我需要在一个dockerfile中将php-fpm和nginx结合起来用于生产部署。 那么更好的是: (1)使用php:7.1.8-fpm启动dockerfile,然后在其上安装nginx图像层? (2)或者你推荐使用nginx图像,然后使用apt-get安装php-fpm? PS:我没有用于生产部署的docker-compose构build选项。 在我的开发环境中,我已经使用docker-compose并且从两个图像轻松地构build了多容器应用程序。 我们的组织devops不支持基于docker-compose的prod环境部署。

牧场主,公共子域和nginx

我在一些本地服务器上运行一个完整的CI堆栈,我尝试迁移到Rancher 。 首先,我使用docker-compose在一个节点上创build了以下configuration,这看起来完美无瑕(即,我可以通过外部公共子域分别访问每个元素)。 jwilder / nginx的代理 jrcs / letsencrypt-的nginx代理 – 伴侣:最新 registry:2.6.2 牧场主/服务器:最新 现在,我想通过各自的外部公共子域从全新的牧场主堆栈访问一些元素。 例如, https : //gitlab.example.com,https://jenkins.example.com 。 不幸的是,这是行不通的。 实际上,当我在创build一个堆栈的时候上传了下面docker-compose.yml文件,看起来好像不能和现有的堆栈进行连接,这个堆栈支持rancher本身,基本上我不能访问运行良好: version: '2' services: gitlab: image: gitlab/gitlab-ce:latest labels: io.rancher.container.pull_image: always ports: – "27100:80" – "27143:443" – "27122:22" restart: always volumes: – /var/gitlab_volume/config:/etc/gitlab – /var/gitlab_volume/logs:/var/log/gitlab – /var/gitlab_volume/data:/var/opt/gitlab environment: VIRTUAL_HOST: "gitlab.example.com" VIRTUAL_PORT: 80 LETSENCRYPT_HOST: "gitlab.example.com" LETSENCRYPT_EMAIL: "admin@example.com" […]

nginx docker proxy_path到服务器中的其他docker

我有这两个docker运行在y服务器上: docker-registry:5000/library/nginx:1.7.10.1哪些端口是443/tcp, 0.0.0.0:3010->80/tcp docker-registry:5000/library/nginx:1.7.10.1 443/tcp, 0.0.0.0:3010->80/tcp docker-registry:5000/library/java:8-jre其中的端口是0.0.0.0:9090->8080/tcp 我想要做的就是响应所有的请求到以/api/开头的java泊坞窗的Nginx服务器。 所以,我为我的Nginx docker使用了一个configuration文件,如下所示: 服务器{ 听80 default_server; 听[::]:80 default_server; root / opt / www; server_name localhost some_ip_address some_other_ip_address; gzip on; gzip_types 应用/八位字节stream 应用/primefaces+ xml的 应用程序/ x-JavaScript的 应用程序/ JavaScript的 应用程序/ JSON 应用/ RSS + xml的 应用/ vnd.ms-fontobject 应用程序/ x-字体-TTF 应用程序/ x-web应用舱单+ JSON 应用/ XHTML + xml的 应用程序/ XML 字体/ OpenType字体 […]

在Elastic Beanstalk / Docker Nginx / PHP-FPM实例中访问客户端IP

为了让部署和开发人员更容易,我已经使用他们的Docker容器服务在Elastic Beanstalk实例上部署了我们的REST API。 除了获取那些连接到API的客户端IP以及我迄今为止尝试过的所有尝试之外,所有的工作都很好,导致返回相同的Docker Container IP或HTTP 499错误消息。 Nginxconfiguration server { listen 80; server_name api.zecofrontend.local index index.php index.html; root /var/www/public; location / { try_files $uri /index.php?$args; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass app:9000; fastcgi_index index.php; include fastcgi_params; # fastcgi_param REMOTE_ADDR $http_x_real_ip; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } } Docker撰写 version: '2' services: web: […]