Oxalic acid (a white crystalline powder) disolved in water; make a concentrated solution (say 1 teaspoon full in a tablespoonful of warm water). Dab the mix on with a brush or sponge, then when rust stains are gone, rinse with water and wash (test in an inconspicuous area). Note, oxalic acid is poisonous (it's in rhubarb leaves). Don't get it near your mouth. (Antidote is milk of magnesia, but do try not to need it.) It is not corrosive and won't burn (but it's sensible to wear gloves). You should be able to get it from a pharmacy. It is the only common chemical that will remove rust stains and leave the fabric (or wood, paper, etc).
Mr Clean, June 2010