a resposta a sua pergunta é NÃO, você não pode substituir um log_format em qualquer nível no nginx e não pode sobrescrever access_log quando estiver no mesmo nível, exceto desativá-lo. No entanto, você pode conseguir o que deseja sem alterar o nginx.conf, mas terá que fazê-lo no nível do servidor {}.
O problema aqui é que a inclusão de conf.d / * está dentro do http {}, que é exatamente onde a diretiva access_log está. O que você pode fazer sem tocar em nginx.conf é alterar qualquer servidor {} que esteja usando (se você não tiver configurado um que esteja usando o padrão localizado em / etc / nginx / sites-enabled / default). Portanto, para conseguir o mesmo sem alterar o nginx.conf, você deve alterar seu arquivo na pasta conf.d para:
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log off;
E depois dentro do seu servidor {} coloque:
access_log /var/log/nginx/access.log main;
Isso deve te dar o que você queria no começo.