我正在AWS上部署容器化的nginx服务器。然而,当我试图访问它时,我从浏览器得到"Unable to connect“错误。日志文件显示错误:nginx: [emerg] unknown "server" variable
这是我的prod.conf文件:
server {
listen 80;
location / {
proxy_pass http://users:5000;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server-name;
}
}
这在Dockerfile-prod文件中:
FROM nginx:1.15.8-alpine
RUN rm /etc/nginx/conf.d/default.conf
COPY /prod.conf /etc/nginx/conf.d
compose-prod.yml文件:
version: '3.7'
services:
users:
build:
context: ./services/users
dockerfile: Dockerfile-prod
expose:
- '5000'
environment:
- FLASK_ENV=production
- APP_SETTINGS=project.config.ProductionConfig
- DATABASE_URL=postgres://postgres:postgres@users-db:5432/users_prod
- DATABASE_TEST_URL=postgres://postgres:postgres@users-db:5432/users_test
depends_on:
- users-db
users-db:
build:
context: ./services/users/project/db
dockerfile: Dockerfile
expose:
- '5432'
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
nginx:
build:
context: ./services/nginx
dockerfile: Dockerfile-prod
restart: always
ports:
- 80:80
depends_on:
- users
为什么它会给我这个错误?
发布于 2019-04-17 07:09:27
您应该使用带下划线的$server_name
,而不是$server-name
http://nginx.org/en/docs/http/ngx_http_core_module.html#server_name
https://stackoverflow.com/questions/55717139
复制相似问题