The former Sunderland, Leicester City and Wigan Athletic man departs Rangers after spending the past two years with the club, netting 44 goals in that time.
Waghorn had been linked with a return to the Stadium of Light last week, but Ipswich have managed to land his signature ahead of their Championship rivals.
Speaking to his new side's official website, the 27-year-old said: "I know about all the history of Ipswich and watched the club when they were in Europe. I know what a good club it is so it's a great opportunity for me.
"I was at Sunderland's Academy and was a ball boy at games when [Mick McCarthy] was manager there so I know all about the manager here as well. He's achieved a lot in the game and I'm grateful to him for giving me the chance to come here and play games."
A former England Under-21s international, Waghorn had just 11 months left to run on his Rangers contract.