gpt4 book ai didi

docker - jwilder/nginx-proxy 503 服务暂时不可用

转载 作者:行者123 更新时间:2023-12-02 19:24:03 26 4
gpt4 key购买 nike

我正在尝试使用 docker-compose、jwilder/nginx-proxy 和 letsencrypt companion 构建一个 Web 应用程序,但是当我尝试它时,nginx 向我抛出 503 错误。

“503 服务暂时不可用”

我的docker-compose文件如下

version: '2'

services:
nginx-proxy:
image: jwilder/nginx-proxy:alpine
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- /etc/nginx/certs
- /etc/nginx/vhost.d
- /usr/share/nginx/html
- /var/run/docker.sock:/tmp/docker.sock:ro
labels:
- com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy

letsencrypt:
image: jrcs/letsencrypt-nginx-proxy-companion
restart: always
environment:
- NGINX_PROXY_CONTAINER=nginx-proxy
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
volumes_from:
- nginx-proxy:rw

www:
build:
context: .
dockerfile: Dockerfile
restart: always
expose:
- "80"
environment:
- VIRTUAL_HOST=example.com, www.example.com
- LETSENCRYPT_HOST=example.com, www.example.com
- LETSENCRYPT_EMAIL=contact@example.com

我的网络应用程序是用 React 构建的,我制作了这个 Dockerfile 来构建容器镜像:

FROM node:10-alpine as build

WORKDIR /usr/src/app

COPY package.json .

RUN npm install

COPY . .

RUN npm run build

FROM nginx:1.14-alpine

COPY --from=build /usr/src/app/build/ /usr/share/nginx/html

COPY www/nginx.config /etc/nginx/conf.d/default.conf

这是此图像使用的 nginx.config:

server {
server_name example.com www.example.com;
listen 80 reuseport default;
sendfile on;
default_type application/octet-stream;
gzip on;
gzip_http_version 1.1;
gzip_disable "MSIE [1-6].";
gzip_min_length 1100;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_comp_level 9;
root /usr/share/nginx/html;
location / {
try_files $uri $uri/ /index.html =404;
}
}

Web 应用程序图像工作正常,如果我只运行它就可以打开它。问题出在 nginx-proxy 和配套容器上,也许 nginx-proxy 无法找到 www 容器?

有人可以帮忙吗。

最佳答案

您需要在后端环境变量中指定正确的 VIRTUAL_HOST 并确保它们在同一网络(或 docker bridge 网络)上

然后它应该会自动相互链接并能够通过您提供的域进行访问。

关于docker - jwilder/nginx-proxy 503 服务暂时不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57640631/

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