I have data in a postgresql data store in EPSG:2163 and am displaying that using OpenLayers in EPSG:3857. This results in a ~25 km northerly shift when displayed either in QGIS or OpenLayers.
To test the reprojection I used GDAL and the Geoserver reprojection console, which confirmed that the x-coordinates were reprojecting correctly but the y-coordinates were artificially high.
GDAL: gdaltransform -s_srs EPSG:2163 -t_srs EPSG:3857 1494718.24465831 -1025289.47657808
output = -9310869.18028598 4090931.77295946 0 (this displays correctly).
Geoserver: Reprojection Console
output =-9310869.180285975 4115158.942481106 (this displays north of expected).
Resulting in a difference of 24.2 km.
It seems to me that this a projection problem within Geoserver, any ideas what the problem is or how I can get around this? If I reproject my source data in postgresql to EPSG:3857, there are no projection problems but I want to keep my source data in EPSG:2163.