[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[THREDDS #NON-921195]: Hard coding generated URL references



Hi Daryl,

> I've got Thredds setup and going on an Unidata Equipment Grant provided
> machine, thanks.  Just having one issue.  The machine (mtarchive-priv)
> runs tomcat, but the http traffic comes proxied from another system
> (mtarchive).  The problem is that generated URLs are using the hostname of
> the tomcat system, which is not reachable from the internets.  For
> example:
> 
> http://mtarchive.geol.iastate.edu/thredds/catalog/mtarchive/2008/12/31/gempak/model/catalog.html?dataset=mtarchive/2008/12/31/gempak/model/2008123121_ruc211.gem
> 
> and the Data URL here:
> 
> http://mtarchive.geol.iastate.edu/thredds/dodsC/mtarchive/2008/12/31/gempak/model/2008123121_ruc211.gem.html
> 
> I tried hard coding the 'mtarchive.geol.iastate.edu' in the catalog.xml
> like so:
> 
> <service name="allServices" base="" serviceType="compound">
>   <service name="dapService" serviceType="OpenDAP"
>     base="http://mtarchive.geol.iastate.edu/thredds/dodsC/"; />
>   <service name="httpService" serviceType="HTTPServer"
>     base="http://mtarchive.geol.iastate.edu/thredds/fileServer/"; />
>   <service name="wcsService" serviceType="WCS"
>     base="http://mtarchive.geol.iastate.edu/thredds/wcs/"; />
>   <service name="ncss" serviceType="NetcdfSubset"
>     base="http://mtarchive.geol.iastate.edu/thredds/ncss/grid/"; />
> </service>

Did you start off with server relative URLs in the "base" attribute? Like the 
following:

  <service name="allServices" base="" serviceType="compound">
    <service name="dapService" serviceType="OpenDAP" base="/thredds/dodsC/" />
    <service name="httpService" serviceType="HTTPServer" 
base="/thredds/fileServer/" />
    <service name="wcsService" serviceType="WCS" base="/thredds/wcs/" />
    <service name="ncss" serviceType="NetcdfSubset" base=/thredds/ncss/grid/" />
  </service>

If not, that may solve the problem with the data access URLs you are seeing on 
the TDS dataset page (your first URL). I don't think that will fix the problem 
URLs in the "OPeNDAP Dataset Access Form" page (your second URL). This looks 
like it might be caused a proxy configuration problem.

Most TDS generated URLs are relative to the server (e.g., "/thredds/dodsC/") or 
relative the the current document's base URL. There are only a few places where 
it is necessary to generate absolute URLs. In those cases, the TDS uses 
information from the incoming HTTP request to construct the generated URLs. It 
is up to the proxy to send the correct information to the proxied server so the 
request information will be correct.

What version of the TDS are you running? And what are you using to proxy your 
server?

We have a web page (possibly a bit out of date) on Tomcat/Apache proxying with 
mod_proxy and mod_jk:

http://www.unidata.ucar.edu/projects/THREDDS/tech/reference/TomcatBehindProxyServer.html

that might be useful.

Another useful tool is on the TDS Admin/Debug pages. You have to have TDS 
Remote Management configured before you can use it. Information on seting up 
remote management is here

http://www.unidata.ucar.edu/projects/THREDDS/tech/tds4.2/reference/RemoteManagement.html

Once that is setup, from the admin/debug page on your server:

http://yourserver:port/thredds/admin/debug

Follow the "Show HTTP Request info" link to

http://yourserver:port/thredds/admin/debug?General/showRequest

which will list, among other things, the "req.getServerName()" which should in 
your case be "mtarchive.geol.iastate.edu".

If that doesn't help or you keep running into problems, let us know and we can 
dig deeper.

Ethan

> but must need to specify it in another location?
> 
> thanks,
> daryl
> 
> 


Ticket Details
===================
Ticket ID: NON-921195
Department: Support THREDDS
Priority: Normal
Status: Closed


NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.