De la documentación de proxy_pass :
Un caso especial es el uso de variables en la declaración proxy_pass: la URL solicitada no se utiliza y usted es totalmente responsable de construir la URL de destino usted mismo.
Dado que está usando $ 1 en el objetivo, nginx confía en que usted le diga exactamente qué pasar. Puede solucionar este problema de dos formas. Primero, eliminar el comienzo de la uri con un proxy_pass es trivial:
location /service/ {
# Note the trailing slash on the proxy_pass.
# It tells nginx to replace /service/ with / when passing the request.
proxy_pass http://apache/;
}
O si desea utilizar la ubicación de expresiones regulares, solo incluya los argumentos:
location ~* ^/service/(.*) {
proxy_pass http://apache/$1$is_args$args;
}