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)