我正在尝试使用 nginx 将一个 Angular 通用应用程序 docker 化,但结果非常糟糕。我到处找了,但还是没找到解决办法。
Dockerfile
FROM node:14-alpine AS builder
WORKDIR /app
COPY . .
RUN npm i && npm run build:ssr
FROM nginx:alpine
WORKDIR /usr/share/nginx/html
RUN rm -rf ./*
COPY nginx.conf /etc/nginx/nginx.conf
COPY --from=builder /app/dist/front-end-kevi .
ENTRYPOINT ["nginx", "-g", "daemon off;"]
在我的 server.ts 文件中,我在端口 4000 上启动应用程序。因此,我使用此命令启动 docker 镜像
docker run -d -p 4000:80 kevin
作为参考,这是我的 nginx conf 文件。
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.html index.htm;
location ~* \.(eot|ttf|woff|woff2)$ {
add_header Access-Control-Allow-Origin *;
}
location / {
proxy_pass http://localhost:4000;
try_files $uri $uri/ =404;
}
location /OrderMationApi/api/v3/ {
proxy_pass http://102.133.225.222;
}
我在错误日志中收到此错误
7#7:*1 connect() 连接到上游时失败(111:连接被拒绝),客户端:172.17.0.1,服务器:localhost,请求:“GET / HTTP/1.1”,上游:“http://127.0.0.1:4000/”,主机:“localhost:4000”
我已将 localhost:4000 更改为 127.0.0.1:4000 但仍然没有用。