Você está especificando this_server_ip
como o nome do host para este host virtual. Isso significa que esse host virtual não é usado para nenhuma solicitação que tenha um nome de domínio, mas seu servidor virtual padrão nginx é usado para solicitações de http://subdomain.example.com/
.
Você precisa alterar seu server_name
para subdomain.example.com
ou adicionar default_server
à diretiva listen
neste bloco server
e removê-lo da configuração padrão do nginx.
EDIT: Tente esta configuração vhost:
server {
server_name subdomain.example.com;
location ~ /(mypage|static/api)/ {
proxy_pass http://some_ip_address/$1/;
}
location / {
root /var/local/directory/;
}
}
Ou seja, você não precisa de uma instrução rewrite
, porque está fazendo proxy da solicitação para outro servidor.