NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hi, I am setting up a thredds data server on a local machine to serve some data for private use within our research group. I have used the docker image *unidata/thredds-docker:latest* to install and setup the server. I have also managed to create and add a catalog. After setting up the server, I have noticed a peculiar behaviour. If I use tools like *nco* etc. on the machine where I have installed a thredds server, I am able to access the data. However, when I try to access the data from a different machine, I get a syntax error. I have tested to see if the file is accessible from the thredds server. Below, you can see the output from *ncdump*. ncdump -t -v time http://138.194.55.191/thredds/dodsC/worldclim/historical/2.5m/prec/wc2.1_2.5m_prec.ncnetcdf wc2.1_2.5m_prec { dimensions: time = UNLIMITED ; // (12 currently) lat = 4320 ; lon = 8640 ; variables: double time(time) ; time:standard_name = "time" ; time:long_name = "time" ; time:units = "months since 1985-01-01" ; time:calendar = "standard" ; time:axis = "T" ; time:_ChunkSizes = 512 ; // "2027-09-01" double lon(lon) ; lon:standard_name = "longitude" ; lon:long_name = "longitude" ; lon:units = "degrees_east" ; lon:axis = "X" ; double lat(lat) ; lat:standard_name = "latitude" ; lat:long_name = "latitude" ; lat:units = "degrees_north" ; lat:axis = "Y" ; float prec(time, lat, lon) ; prec:units = "mm" ; prec:_FillValue = -32768.f ; prec:missing_value = -32768.f ; prec:long_name = "precipitation" ; prec:_ChunkSizes = 1, 7, 8640 ; // global attributes: :CDI = "Climate Data Interface version 1.9.3 (http://mpimet.mpg.de/cdi)" ; :history = "Thu Apr 30 17:43:57 2020: GDAL CreateCopy( ./ wc2.1_2.5m_prec_01.nc, ... )" ; :GDAL_AREA_OR_POINT = "Area" ; :GDAL = "GDAL 2.1.3, released 2017/20/01" ; :CDO = "Climate Data Operators version 1.9.3 (http://mpimet.mpg.de/cdo)" ; :Conventions = "CF-1.5" ; :DODS_EXTRA.Unlimited_Dimension = "time" ; data: time = "1985-01-01", "1985-02-01", "1985-03-01", "1985-04-01", "1985-05-01", "1985-06-01", "1985-07-01", "1985-08-01", "1985-09-01", "1985-10-01", "1985-11-01", "1985-12-01" ; } When I try to access the file using* ncks* e.g., ncks -d time,0,1,1 -v prec http://138.194.55.191/thredds/dodsC/worldclim/historical/2.5m/prec/wc2.1_2.5m_prec.nc temp.nc I get the following error syntax error, unexpected WORD_WORD, expecting SCAN_ATTR or SCAN_DATASET or SCAN_ERROR context: <!doctype^ html><html lang="en"><head><title>HTTP Status 400 – Bad Request</title><style type="text/css">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 400 – Bad Request</h1><hr class="line" /><p><b>Type</b> Exception Report</p><p><b>Message</b> Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986</p><p><b>Description</b> The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).</p><p><b>Exception</b></p><pre>java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:502) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:502) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1623) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Thread.java:748)</pre><p><b>Note</b> The full stack trace of the root cause is available in the server logs.</p><hr class="line" /><h3>Apache Tomcat</h3></body></html> I am not sure what I am missing here. I would appreciate some help in getting this sorted. -- Regards Nikhil
thredds
archives: