Reports on Monday suggested the deal was worth around £1million for the 27-year-old, who was Rangers’ top goalscorer in all competitions in each of the last two seasons.
Waghorn had one year left to run on his contract and was consistently the source of transfer rumours after failing to sign a new deal at the beginning of last season.
The striker returns south of the border after two years in Scotland. During his time at Ibrox he bagged 44 goals in 78 games and helped the club win promotion to the Ladbrokes Premiership.
He will join former Rangers team-mate Joe Garner at Portman Road.
Rangers said in their announcement: “Everyone at Rangers would like to thank Martyn for his contribution to the club and wish him all the best in his future career.”