Hello Furqan,
as I said, I am no nginx expert and you are probably better off asking nginx people or on their mailing list for help. I would expect and guess, that "server_name" can also contain an IP address.
However, I read up on it a bit (see http://serverfault.com/questions/96469/is-there-a-way-to-forward-a-port-base...) and I don't think this is easily possible by not using HTTP.
So for now I guess your only option would be to use the webserver and access BaseX using the REST or RESTXQ interface.
Cheers, Dirk
On 24/09/14 08:15, Furqan Khan wrote:
hie dirk,i will make that a practice. getting back to reverse proxy,when using restxq i some how think it is possible to proxy the web application but not the database server.lets take the following nginx configuration
nginx server configuration : server {
listen *:80; //nginx server running on port 80. server_name www.mywebsite.com //port :8080 name of the
website/database to proxy. access_log logs/test.log;
location / { proxy_pass http://localhost:8080/db/mywebsite.com;
//exact location of the site to be proxied
}
Now what my question is that,this configuration works very well for a web application,that is all requests for website "www.mywebsite.com" are passed through the nginx server. but if i want requests for a db server basex to pass through it how do i specify that. i mean a web client can access www.mywebsite.com ,but a database client does not access the database directly from a browser.... assuming my basex server is running on port 1984 and the web application is running on port 8000 ,both on same machine. now the web application opens the connection to port 1984 and sends queries that i want to capture before they hit the database.... And just to let u know,i m following a black box approach,i need to make the implementation code independent. how can i do it with the described scenario what can i specify in the server_name header any help will be highly appreciated. thanks furqan
On Tue, Sep 23, 2014 at 5:15 PM, Dirk Kirsten dk@basex.org wrote:
Hello Furqan,
please keep in mind to always include the mailing list in the list of recipients, as others might also benefit from your questions. Also, other people might have much better answers than I can give you.
Sure you can use a network sniffer to listen to the traffic to/from a BaseX server. It is a standard TCP connection, so this is certainly possible. Just give it a try.
The same holds for using a proxy: It is a very conventional TCP connection, so using a proxy shouldn't be a problem. Nginx should works as well, I guess (although I am by no means an expert in nginx). We have used it quite some times for projects using RestXQ to load-balance requests. How to actually achieve that heavily depends on the proxy you decide to use, so you might have to read up there how to do it in detail.
Cheers, Dirk
On 23/09/14 13:13, Furqan Khan wrote:
Derk,just a little quick question if the using tcp/ip,so assuming my web server is on same machine port
8000
and the basex server is also on same machine port 1984, then will it be possible to use a packet sniffer such as wire shark to
see
all incoming packets to the baseX-db port 1984... Further more,is it possible for me to use a reverse proxy in front of
basex
server (a web proxy such as nginx may not work)..,so that i may evaluate incoming packets and trigger my script(java or lua) just as mysql has
come
up with mysql proxy as a db-proxy(wh invokes lua scripts),is their any
such
option available with basex or any such third party tool that could be used...i further need to invoke a script,so its not only for analysis purpose.... thanks and regards Furqan
On Tue, Sep 23, 2014 at 1:50 PM, Furqan Khan furqankhan08@gmail.com
wrote:
thanks for the reply cheers furqan
On Tue, Sep 23, 2014 at 1:16 PM, Dirk Kirsten dk@basex.org wrote:
Hello Furqan,
welcome to the wonderful world of XML databases ;)
Right now, BaseX only supports TCP/IP for client connect. So by definition it will always be used as default. The details of our server protocol can be found at https://docs.basex.org/wiki/Server_Protocol
Cheers, Dirk
On 23/09/14 07:27, Furqan Khan wrote:
Hi i m a little new to xml-db environment. i need to know what are the possible ways to connect to baseX from
client
api's. just like in sql the clients could connect to db using : 1)named pipes 2)shared memory 3)tcp and etc...
Does basex offer all the functionalists... and by default whats the way a client connects,if the tcp connection
is
not
explicitly specified...
regards Furqan
-- Dirk Kirsten, BaseX GmbH, http://basex.org |-- Firmensitz: Blarerstrasse 56, 78462 Konstanz |-- Registergericht Freiburg, HRB: 708285, Geschäftsführer: | Dr. Christian Grün, Dr. Alexander Holupirek, Michael Seiferle `-- Phone: 0049 7531 28 28 676, Fax: 0049 7531 20 05 22
-- Dirk Kirsten, BaseX GmbH, http://basex.org |-- Firmensitz: Blarerstrasse 56, 78462 Konstanz |-- Registergericht Freiburg, HRB: 708285, Geschäftsführer: | Dr. Christian Grün, Dr. Alexander Holupirek, Michael Seiferle `-- Phone: 0049 7531 28 28 676, Fax: 0049 7531 20 05 22