我正在设置一个新应用,并且试图使用Nginx将请求代理到不同的Docker容器。我无法获得“欢迎使用nginx!”页面停止显示对网站的请求(http://szabado.com/)。如果我添加一些路径,它将代理该路径,但是它拒绝仅使用裸主机名代理请求。
我尝试查看nginx config pitfalls,但看不到任何似乎相关的内容?
nginx.conf:
events {
worker_connections 1024;
}
http {
# Use the default docker DNS host
resolver 127.0.0.11;
server {
listen 80;
server_name szabado.com www.szabado.com;
# Case insensitive, just match any path that starts with API and send it to the API container
location /api {
set $upstreamAPI http://goldyapi:8080;
proxy_pass $upstreamAPI;
}
location / {
set $upstreamUI http://goldyui:8080;
proxy_pass $upstreamUI;
}
}
}
用于创建nginx容器的Dockerfile:
FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf
我希望它像显示任何随机路径一样显示Invalid Host header
,但是它显示欢迎页面。
答案 0 :(得分:0)
它带有一个“默认”虚拟主机。查看/ etc / nginx / sites-available / default中是否存在默认的Nginx配置文件并将其删除。
并将您的默认设置修改为
server {
listen 80 default_server;
server_name szabado.com www.szabado.com;
...
答案 1 :(得分:0)
原来,我需要删除/etc/nginx/conf.d/default.conf
。更新的Dockerfile:
FROM nginx
RUN rm /etc/nginx/conf.d/default.conf
COPY nginx.conf /etc/nginx/nginx.conf
RUN nginx -T