She's making a mistake by getting into your face and by throwing your past at you and saying you're not good enough. Not sure where she got her information or whether any of it is true, but regardless, it's not her business and she has made the mistake of getting too involved.
Your boyfriend stood up for you, which is great.
So all you can do is take the high road. Show her the right way to behave and be civil. Try not to see her or talk to her without your boyfriend there. Is he deployed right now? So do you have to see his mother? Don't answer her calls - let it go to voice mail and see if you need to respond. If she asks a question or invites you to something, you need to be polite and reply. If she goes on a rant, say "I'm sorry you feel that way. I think it would be better for your son if we could get along, so I'm not going to get into name-calling with you. Thanks for calling, but I need to run now. Ta-ta and have a good day!" Then get off the phone. If you can see her just with him there, that's great. He can try to help her figure out what her goal is - running his life? Scaring you off? The best way for her to drive him toward you is to pick on you - so he can let her know that her rants just make him want to be with you more, defend you, protect you.
Maybe she's this way all the time. So limit your contact. But always be respectful, without being a punching bag. Say that you need to go, but hold your head high. Don't stoop to her level and insult her, don't break down in tears, but don't sit there and take it either.