Можно ли как-то сделать так, чтобы никто другой не мог повторить эти запросы и получить мои данные в json-формате?
Используй механизмы ссесий. По типу Cookies/JWT.
P.S. советовал бы JWT отличная лекция Ильи Климова на эту тему.
Может настройками nginx сделать так, чтобы эти XMLHttpRequest запросы нельзя было выполнить напрямую? Чтобы нельзя было адресу XMLHttpRequest получить данные.
nginx это сервер который просто проксирует контент