Hello.
Here I tried to develop a small application with CouchBase and CouchBase Lite. On the other hand I find myself in front of a problem. In a normal environment the synchronization works perfectly, however, as soon as I have to use a proxy, it no longer works.
I have a computer where I am supposed to give the user the opportunity to configure a proxy in the application, otherwise the application does not have access to the internet.
Can you enlighten me on this subject? Is it possible to configure replication to go through the proxy?
Replication should be obeying any system proxies in place, there is not an API for setting them up though. One caveat is that if you are not on the latest version then it will only be able to handle IP addresses and not DNS names.
Hello,
Thank you for your answer, and therefore I would have liked to know how to do precisely to set up a configuration so that the replication works while going through a proxy.
Version:
SyncGateWay is in version 2.8.0-376
Couchbase Lite 2.8.4
There is no special config on Couchbase Lite side. This should be handled transparently by underlying network stack - as Jim states, the replicator will obey system proxy setup. Check that you can access sync gateway via a browser on device through the proxy.
Hello.
Thank you again for responding to me. I had already tested the proxy configuration of the system. So yes it works perfectly, but unfortunately for me my request is a little more specific. I don’t want to use the system proxy configuration but really put a proxy configuration for my app. (This may sound strange to you, but it’s a request that I have …)
Do you think this is possible?
You cannot do that today with Couchbase Lite. Can you elaborate on why you would need an app level proxy setting that is could override the system level setting.
Hello ,
I come back to you today, because unfortunately I still cannot synchronize my application when there is a proxy.
At the beginning my client asked me to be able to configure the proxy directly in the application, but if it is possible to use the system’s proxy, we will do with it.
So we have set up the system proxy with the proxy url and port.
So the first test is to see if the synchronization works: Still not.
On the other hand we tested on Google Chrome by putting http:// [URL_SERVER]:4984/[BUCKET_NAME] it works I happen on an authentication popup. So I conclude that the connector on my xamarin application is not good, and that it cannot retrieve the information from my proxy.
Can you help me on this:
Here is the code for my connector:
try
{
DataProct dataProct = _dataProctGetter.Get();
if (dataProct != null)
{
Uri target = new Uri($"ws://{dataProct.Url}");
IEndpoint endpoint = new URLEndpoint(target);
ReplicatorConfiguration replicatorConfiguration = new ReplicatorConfiguration(_dataBaseGetter.Get(), endpoint)
{
Continuous = true,
ReplicatorType = ReplicatorType.PushAndPull,
Authenticator = new BasicAuthenticator(dataProct.Nom, dataProct.Password),
};
_replicator = new Replicator(replicatorConfiguration);
_replicator.Start();
_token = _replicator.AddChangeListener(_replicator_StatusChanged);
}
}
catch(Exception e)
{
return;
}
“DataProc” is just an object that will contain my url, name and password