You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tika.apache.org by "Nick Burch (JIRA)" <ji...@apache.org> on 2013/11/16 17:25:21 UTC

[jira] [Commented] (TIKA-1196) JAX-RS server only responds to queries to/from http://localhost

    [ https://issues.apache.org/jira/browse/TIKA-1196?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13824526#comment-13824526 ] 

Nick Burch commented on TIKA-1196:
----------------------------------

I think the problem isn't the hostname, it's the interface bound to. By default it comes up just listening on the loopback 127.0.0.1 interface and not any others:

   $ netstat  -nl | grep 9998
   tcp6       0      0 127.0.0.1:9998          :::*                    LISTEN

However, I can call it just fine by loopback IP, so it's not the host header:

   $ curl -T test.pdf http://127.0.0.1:9998/meta
   "dcterms:modified","2003-01-28T18:56:48Z"
   "meta:creation-date","2001-12-28T17:15:34Z"
   "meta:save-date","2003-01-28T18:56:48Z"
   "dc:creator","gbish"
   "Last-Modified","2003-01-28T18:56:48Z"
   (snip)

So, I think we need to provide an option to bind to all interfaces instead of just loopback

> JAX-RS server only responds to queries to/from http://localhost
> ---------------------------------------------------------------
>
>                 Key: TIKA-1196
>                 URL: https://issues.apache.org/jira/browse/TIKA-1196
>             Project: Tika
>          Issue Type: Bug
>          Components: server
>    Affects Versions: 1.4
>         Environment: Mac OS X, Windows Server 2008
>            Reporter: Rian Stockbower
>            Priority: Minor
>              Labels: JAXRS, hostname, web-service
>
> I'm not sure if this is a problem with the Tika JAX-RS server, or with how it uses CXF under the hood. Anyway:
> I have a large text extraction job (10-15 million documents) that I'm using the web service for. It would be nice to be able to distribute this horizontally across multiple nodes to speed up the processing. I had thought to have a job queue with a couple consumers, farming out PUT requests across several Tika web service endpoints.
> But the JAX-RS web service will only respond to queries made to {{http://localhost:9998/tika}}.
> I can't call {{http://hostname:9998/tika}} -- even if it's still a local operation.
> Here is a list of things I've tried:
> * I changed line 89 of TikaServerCLI.java to compute the name of the host at runtime. No go: the server starts up, and immediately terminates.
> * I changed line 89 of TikaServerCLI.java to be a hostname (not a FQDN), and re-compiled:
> ** {{mvn compile -rf :tika-server}} compiles successfully. Start up the server, and it terminates, just like when I tried to compute the hostname at runtime
> ** {{mvn install}} from the topmost Tika directory gets the service responding to both {{http://hostname:9998/tika}} and {{http://hostname.domain.net:9998/tika}} (Seemed weird, this is why I was thinking it was further up the chain in CXF?)
> In a perfect world:
> # The server should respond to any valid calls that make sense:
> #* 127.0.0.1
> #* localhost
> #* hostname
> #* host.domain.tld
> #* ip_address
> # An hostname invocation parameter could be used to limit how what the service responds to when it's started up. (A very optional, nice-to-have.)



--
This message was sent by Atlassian JIRA
(v6.1#6144)