1. He is knocking on the door.

2. He is knocking at the door.
3. He is knocking (on the door) at the door.
-----------------
Which one is right? Are both okay? Do both have a different meaning?
Doe #2 mean #3?

Both sentences 1 and 2 are grammatically correct and have similar meanings. The difference lies in the prepositions used.

In sentence 1, "He is knocking on the door," the preposition "on" is used to indicate that the knocking action is happening directly on the surface of the door.

In sentence 2, "He is knocking at the door," the preposition "at" is used to imply that the person is near the door or in its vicinity.

As for sentence 3, it is not commonly used and may sound redundant because it includes both prepositions "on" and "at" in relation to the door. It does not have a different or additional meaning compared to sentence 2. The phrase "(on the door)" is unnecessary and repetitive in this context.

To summarize, sentence 2, "He is knocking at the door," is the correct and commonly used expression without any redundancy.