No estoy completamente seguro de a qué te refieres con esto
Cuando reciba la solicitud, deseo verificar el dominio de terceros desde el cual se originó, para garantizar que alguien no envíe solicitudes que simulen ser otro dominio.
Por ejemplo, aquí está la solicitud HTTP que mi navegador hizo para cargar esta página:
GET /questions/196706/verify-the-requesting-domain HTTP/1.1
Host: security.stackexchange.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:64.0) Gecko/20100101
Firefox/64.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: close
Cookie: ... snip ....
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0
Nada allí indica de qué dominio proviene mi navegador web. Ni siquiera estoy seguro de saber lo que eso significa.
¿Quizás te refieres a que se accederá a tu API desde las páginas servidas desde otros dominios y quieres minar el encabezado Referrer:
?
Referer: https://my.domain.com/somepage
De cualquier manera, la arquitectura cliente-servidor de HTTP significa que aquí no hay seguridad; el cliente puede, literalmente, poner lo que quiera en la solicitud y el servidor no tiene forma de verificar si es "correcto". Ya sea que esté usando HTTP o HTTPS no hay diferencia aquí.
Considere el siguiente comando cURL que muestra que puedo crear una solicitud HTTP con cualquier texto de encabezado que desee, y luego enviarlo a cualquier servidor que desee:
curl -X GET -H "Accept: text/html" -H "Referer: https://my.domain.com/somepage" https://someHostName/someEndpoint
Solución: Autenticación mutua (también conocida como "autenticación del cliente") TLS
Parece que la solución que está buscando es TLS autenticadamente autenticado , que está diseñado precisamente para obligar al cliente a probar su identidad antes de que el servidor abra una conexión.
Esto implicaría emitir certificados a sus clientes (como lo hace con su servidor), y luego configurar su servidor para que solo acepte conexiones entrantes de certificados confiables.