
Eu estava tentando muitas outras soluções postadas aqui e ninguém pode me ajudar a resolver meu problema. Eu tenho uma configuração nginx simples com https e um aplicativo node.js com o caminho principal /
e para um subdomínio outro caminho /api
. Consigo acessar mywebapp.com
corretamente, mas se tento acessá- api.mywebapp.com
lo, ele me redireciona para a página "Bem-vindo ao nginx". Eu tenho o registro DNS api.mywebapp.com
apontando para o endereço IP do meu servidor.
Estes são meus blocos de configuração do nginx:
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name mywebapp.com;
# SSL
include /etc/letsencrypt/mycerts.conf;
include /etc/letsencrypt/options-ssl-nginx.conf;
# reverse proxy
location / {
proxy_pass http://localhost:8000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_cache_bypass $http_upgrade;
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name api.mywebapp.com;
# SSL
include /etc/letsencrypt/mycerts.conf;
include /etc/letsencrypt/options-ssl-nginx.conf;
location /api {
limit_req zone=mylimit;
proxy_pass http://localhost:8000/api;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_cache_bypass $http_upgrade;
}
}
O que estou perdendo?
Responder1
Você configurou seu proxy para
location /api {
# ...
}
Portanto, só é acessível com https://api.mywebapp.com/api/
.
Você provavelmente deseja mudar isso para
location / {
proxy_pass http://localhost:8000/api; # <- keep this
# ...
}