We typically get that type of error when the nested fields you're querying on are either not mapped or not mapped as nested properties.
Can you check your mapping and see if the country is mapped as a nested property of httpRequest? if it is, then it also means it's mapped so the query might need to change a bit".
One can't change the mapping for a field that already exists in the index, so you'll first need to see if the parent (httpRequest) is mapped.
If it is, then you won't be able to change it to a nested field containing country. You'll need to create a new index with a nested field type for httpRequest and then reindex all your data from the current index into the new one.
Use the mapping that you got in 1 as the basis for the new index and then declare httpRequest as a nested field with the properties country and clientIp, headers and any others that are also nested in httpRequest.
You can use the same mappings for all the other fields in your index that you don't need to change.