I have successfully installed OSM tile server on a local server. I verified operation using direct calls http://server_ip/hot/z/x/y.png I setup a page with openlayers 5.2.0. The layer init : osm = new ol.layer.Tile({ source: new ol.source.OSM({ opaque: false, url: 'http://server_ip/hot/{z}/{x}/{y}.png' //url: 'http://a.tile.openstreetmap.org/{z}/{x}/{y}.png' }) }); When I use the `a.tile.openstreetmap.org` it works ok, but shows blank tiles on my local server call. I verified the call to my server using wireshark, http request and reply. The return of http are the required tiles (verified by saving them to disk). But openlayers is showing blank. Does openlayers expect other parameters (in layer init code) when not specifically using osm server? Thanks.