Was the "i" long or short in Shakespeare's plays?
Solution 1:
TLDR: The words die, see, eternity probably ended in three distinct vowels and diphthongs when Shakespeare wrote, but they were all quite close in sound, and in the neighborhood of the vowels bead and bid today. So die and eternity was a good near-rhyme.
There is quite a bit of information on this in the comments on this Language Log post. I will summarize. One of the commenters says:
Miege (1688), for example, distinguishes three pronunciations of the letter /y/: as analogous to French /i/ in angry, ready, etc; as like "the broad English i" in my, cry, etc. and as an "e masculine" in "substantives derived from the Latin," such as charity, amity, and liberality. This last, presumably, was a barred i or other centralized vowel.
An "e masculine" is the French term for the vowel /e/, as in café. I don't believe this French vowel has changed that much since 1688, so the vowel of eternity was probably something in the vicinity of /e/ or /ɪ/. In the 20th century, eternity still had the vowel /ɪ/ in some dialects.
Meanwhile, the vowel of die was undergoing the Great Vowel Shift. It started as /iː/ in 15th century (and earlier) Middle English, and went through /ɪi/, /əi/, /ʌi/, and ended up at today's value /ai/ by the early 20th century. If you look at the chart in Wikipedia, it was somewhere around /ɪi/ or /əi/ in Shakespeare's time.
The vowel /ɪ/ and the diphthong /ɪi/ rhyme really well. If these were the pronunciations Shakespeare used, then die would have been a better rhyme for eternity than tree would have. (By the Great Vowel Shift chart, tree had reached its current value of /iː/ when Shakespeare wrote, although east had not).
If you look at Shakespeare's sonnets, he rhymes die with memory, but he also rhymes free with legacy. One assumes that both of these could not have been perfect rhymes, since the vowels of die and free never merged. However, the rhyme of die and memory was presumably a much better rhyme for Shakespeare than it is today.