I'd like to create a tile cache and offer the tiles via TMS/WMS. The source is a WMS server that is protected by basic http authentication, but no SSL. I'll also need to reproject the tiles. This is for my own personal use. I'd prefer something that can run on either Windows or Linux, and open source is a huge plus. From some searching it appears MapServer can access WMS servers requiring authentication, but doesn't cache. GeoServer can cache WMS, but can't use authentication. Lastly, TileCache can't reproject. What are my options?
You should look also for MapProxy .
 - http://mapproxy.org/
Use the geoserver proxy extension:
The proxy is configurable to restrict requests to specific hosts and MIMEtypes. (specific host can be https - apache can do this http://httpd.apache.org/docs/2.0/ssl/ssl_intro.html)
I tried the suggestions of other users, but I wasn't quite able to get them working, though I got closest with geographika's suggestion of using MapServer+TileCache. Part of the trouble was that the source used the SRS EPSG:102100, an equivalent code to EPSG:3857/900913/etc, but that wasn't supported by the suggested options. I tried adding the code to the proj.4 files, but couldn't quite get it all working right.
I got closest with MapProxy, thanks to the developer adding the SRS code for me to the source. However I had some troubles with connection and projection issues.
In the end I just wrote a short Python script to generate the tiles, thanks in part to a helper script from MapTiler. My script simply takes min and max lat/lon pairs along with a WMS URL and creates OSM compatible tiles, ready for use in JOSM and PotLatch2, the editors I'm mostly interested in. I'll try and add it to the OSM wiki at some point.