The old Thompson formula did very well, but the newer formula will eat canvas.
I think REI or other outdoor stores sell some stuff made especially for canvas.
I think the brand name is Camp Kote or something similar. Another brand is Starbrite, a marine product.
Camp Dry, made by Kiwi (the shoe polish people), is good and does not saturate the fabric and destroy fire retardness and the ability of the fabric to breathe.
Or, you can do it yourself, with a mixture of GE silicon and mineral spirits (do NOT use gasoline, turpentine, paint thinner, et cetera) painted on the canvas/nylon/whatever.
The silicon treatment does no good for the ability of the canvas to breathe.
So I would avoid it and use a commercial product made for canvas if breathability is important.