I have a workspace in GeoServer with many shapefiles and postgis tables. Now I'm writing a script that will publish GeoTiff files in that workspace using curl tool. I'm trying to succeed that in two steps. At first I create a coveragestore with the following command:
curl -u admin:geoserver -v -XPOST -H 'Content-type: application/xml' -d '<coverageStore><name>input.tif</name><workspace>myworkspacee</workspace><enabled>true</enabled><type>GeoTIFF</type><url>/usr/share/geoserver/data/data/myworkspace/input.tif </url></coverageStore> http://my_mv_ip/geoserver/rest/workspaces/myworkspace/coveragestores'
which works fine. And then I execute:
curl -u admin:geoserver -v -XPUT -H "Content-type: image/tiff" \ --data-binary @input.tif \ http://my_vm_ip/geoserver/rest/workspaces/myworkspace/coveragestores/input/input.geotiff
The output from both commands in command line is the following:
Note: Unnecessary use of -X or --request, POST is already inferred. * Trying my_mv_ip... * Connected to my_mv_ip (my_mv_ip) port 80 (#0) * Server auth using Basic with user admin` > POST /geoserver/rest/workspaces/myworkspace/coveragestores HTTP/1.1 > Host: my_mv_ip > Authorization: Basic YWRtaW46Z2Vvc2VydmVy > User-Agent: curl/7.47.0 > Accept: */* > Content-type: application/xml > Content-Length: 249 > * upload completely sent off: 249 out of 249 bytes < HTTP/1.1 201 Created < Date: Mon, 14 Aug 2017 13:11:28 GMT < Server: Noelios-Restlet-Engine/1.0..8 < Location: http://my_mv_ip/geoserver/rest/workspaces/myworkspace /coveragestores/input < Transfer-Encoding: chunked < * Connection #0 to host my_vm_ip left intact * Trying my_mv_ip... * Connected to my_mv_ip (my_mv_ip) port 80 (#0) * Server auth using Basic with user admin > PUT /geoserver/rest/workspaces/myworkspace/coveragestores/input /input.geotiff HTTP/1.1 > Host: my_mv_ip > Authorization: Basic YWRtaW46Z2Vvc2VydmVy > User-Agent: curl/7.47.0 > Accept: */* > Content-type: image/tiff > Content-Length: 44295940 > Expect: 100-continue > < HTTP/1.1 100 Continue
After about 20 minutes it raises the following error:
We are completely uploaded and fine < HTTP/1.1 502 Bad Gateway < Date: Mon, 14 Aug 2017 12:10:44 GMT < Server: Apache/2.4.7 (Ubuntu) < Content-Length: 311 < Content-Type: text/html; charset=iso-8859-1 < <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>502 Bad Gateway</title> </head><body> <h1>Bad Gateway</h1> <p>The proxy server received an invalid response from an upstream server.<br /> </p> <hr> <address>Apache/2.4.7 (Ubuntu) Server at my_vm_ip Port 80</address> </body></html> * Connection #0 to host my_vm_ip left intact
I tried some solutions from: Adding a new Coveragestore in a certain Workspace by REST and:
But with no result. I'm using GeoServer 2.7.4 Tomcat7 and Ubuntu 14.04.
My Apache logs:
[Mon Aug 14 17:14:04.785741 2017] [proxy:error] [pid 14922:tid 139798341732096] (104)Connection reset by peer: [client 220.127.116.11:34098] AH01084: pass request body failed to [::1]:8080 (localhost) [Mon Aug 14 17:14:04.785886 2017] [proxy_http:error] [pid 14922:tid 139798341732096] [client 18.104.22.168:34098] AH01097: pass request body failed to [::1]:8080 (localhost) from 22.214.171.124 ()
A piece from my tomcat logs:
14 Aug 17:14:04 ERROR [geoserver.rest] - Could not determine format. Try setting the Content-type header. 14 Aug 17:14:04 ERROR [geoserver.rest] -