Grampian Police took the decision on safety grounds believing the Moray club had sold too many tickets for the top-of-the-table clash at Borough Briggs.
In a statement on its website, the Scottish Football League said: "Following today's pre-ops meeting for the match, it has come to light that there has been a substantial over-sale of tickets for this fixture.
"However, Elgin City Football Club could not confirm the exact number of tickets which have been sold for this match.
"Therefore, on the grounds of public safety and in close consultation with all parties, this match has now been postponed.
"Further information regarding tickets which have been sold will be provided as quickly as possible.
"Elgin City FC would like to apologise sincerely for this disappointing outcome. The SFL will conduct a full investigation into the circumstances."
Rangers boss Ally McCoist said on the club's official website: "We are disappointed the match has been called off at such short notice and I know Elgin are as well.
"This was due to circumstances outwith our control but we were informed a short time ago that there was no way the match could go ahead on safety grounds.
"I am sure this is a huge disappointment to our supporters who have purchased match tickets and arranged travel in good faith.
"Elgin City have apologised to the club and we accept their apology but I feel for our fans."