U bevindt zich nu op een technische pagina over de software Mercator. Deze pagina bevat specifieke informatie die bestemd is voor professionals van de software Mercator. Wenst u naar algemenere informatie over Mercator door te gaan?


   Deze vraag niet meer stellen

Installatie van de MercatorPenguinServer

0000002758     -      23-10-2018

MercatorPenguinServer is een RESTfull API webservice die toelaat om gegevens uit te wisselen tussen een mobiele MercatorPenguin-applicatie en de database van Mercator. Het moet geïnstalleerd worden op een Windows-server waarop IIS (Internet Information Server)is geïnstalleerd. De installatie van deze server komt overeen met het opzetten van een website. U moet de inhoud van bijgevoegd ZIP-bestand uitpakken in een lokale map op de server (bijvoorbeeld C:\inetpub\wwwroot_penguin). Dit mag niet de Mercator-directory zijn! Ook is het noodzakelijk dat er een up-to-date Mercator-installatie op de server aanwezig is.

In de console van IIS moet men een nieuwe website creëren.

Als pad moet u de hierboven gebruikte map opgeven.

Ook is het noodzakelijk om de hostname te registreren in uw DNS: bijvoorbeeld penguin.domain.com

Deze nieuwe site vereist geen specifieke beveiligingsinstellingen, u moet enkel schrijfrechten toekennen aan de submap LogFiles. In deze map zal de MercatorPenguinServer de logbestanden registreren.

Omwille van beveiligingsredenen is de MercatorPenguinServer enkel toegankelijk via HTTPS, daardoor bent u verplicht om een SSL-certificaat te installeren. Poort 443 (https) moet ook geopend worden, deze moet naar de server verwijzen. Het SSL-certificaat is gratis verkrijgbaar via LetsEncrypt.

MercatorPenguinServer kan gebruikt worden om gelijktijdige toegang te bieden tot meerdere Mercator-dossiers. Hiervoor moet de MercatorPenguinServer één of meerdere configuratiebestanden bevatten, welke geplaatst kunnen worden in de submap App_Data, waarvan de naam als volgt is samengesteld:

  • De naam van het bestand moet de naam zijn die wordt ingevuld in de MercatorPenguin-verbindinsinstellingen.
  • De extensie is altijd .ini

De structuur van de inhoud van het bestand moet identiek zijn aan de structuur van het meegeleverde: config.ini

Het moet als volgt vervolledigd worden:

  • MainDir: map met de Mercator om verbinding mee te maken. Opgelet: Deze map moet een lokale map zijn, inderdaad, een Windows-service kan externe mappen niet zien.
  • Dossier : ID van het dossier indien het om een multi-dossier gaat. Als dit niet het geval is, mag je de instelling leeg laten
  • SecretPhraseDe wachtwoordzin die gebruikt zal worden om de te verzenden berichten te versleutelen tussen MercatorPenguin en de MercatorPenguinServer. Deze zin moet ook ingegeven worden in de MercatorPenguin-verbindingsinstellingen. We raden aan om een voldoende sterke zin te gebruiken en wachtwoorden als “1234” te vermijden.
  • MaxRows : een mobiele gebruiker kan geen catalogus met 30 000 items ontvangen, waarschijnlijk zal het toestel zelfs niet in staat zijn om al deze informatie in het geheugen te bewaren. Het aantal rijen dat een dataset, die naar de gebruiker teruggestuurd wordt, bevat moet daarom worden beperkt. Dit aantal rijen kan je hier invullen, de aanbevolen waarde is 50.
  • AdDomain en AdGroup : We raden aan om de authenticatie te gebruiken die gebaseerd is op het Active Directory. Indien dit het geval is, moet dit hier vermeld worden, respectievelijk het domein (mydomain.local) en de groep waartoe de gebruiker toegang moet hebben om met Mercator te communiceren. Indien dit veld leeg is worden de gebruikers geverifieerd op basis van de in Mercator gecodeerde logingegevens. Deze laatste optie is verouderd.

 

Het bestand web.config, welke zich in de hoofdmap bevindt omvat volgende parameters:

  • DaysLogs : aantal dagen om de logbestanden bij te houden. Bij het starten van de webservice worden oudere logbestanden automatisch verwijderd. Indien u het automatisch verwijderen wilt uitschakelen moet u hier nul (=0) ingeven. De standaardwaarde is 30 dagen.
  • IpBlockerNbraantal mislukte aanmeldpogingen, waarna het IP-adres van de gebruiker op de blacklist komt voor een vooraf bepaalde tijd. De standaardwaarde is 10.
  • IpBlockerMin : aantal minuten dat een IP-adres geblokkeerd is, standaardwaarde is 15 minuten.
  • JpegCompression : Compressie-instelling voor afbeeldingen die weergegeven worden door ShowImage.ashx. De standaardwaarde is 50.

Waarom is de beveiliging die MercatorPenguinServer biedt betrouwbaar?

  • De gegevensuitwisseling verloopt via het HTTPS-protocol. Dit verzekert een beveiligde verbinding, en maakt het onmogelijk om gegevens in het overzicht te onderscheppen.
  • Niet elke aanvraag wordt geaccepteerd door MercatorPenguinServer, dit wordt alleen geaccepteerd indien er specifieke HTTP-headers aanwezig zijn.
  • Deze headers omvatten het uitwisselen van een hash-sleutel en een token voor eenmalig gebruik, om te verzekeren dat de verzender van het bericht MercatorPenguin is.
  • De token maakt deel uit van dit hashing-scenario, evenals de geheime wachtwoordzin, welke uniek is voor elke configuratie en onbekend is voor MercatorPenguin en de MercatorPenguinServer.
  • MercatorPenguinServer omvat het systeem om IP-adressen tijdelijk te blokkeren, dit gebeurt wanneer het IP-adres meerdere verzoeken verzend met onjuiste sleutels/tokens of onjuiste logingegevens doorsturen.
  • De SQL-query’s die uitgevoerd worden, worden nooit naar de MercatorPenguinServer verzonden. De MercatorPenguinServer gebruikt steeds de originele query’s die zich in Mercator bevinden. Bovendien gebruiken alle SQL-query’s alleen SQL-parameters. Deze twee punten maken SQL-injectie onmogelijk.

 


Als men de foutmelding HttpStatusCode=NotFound te zien krijgt in de mobiele toepassing (en alleen in dit geval), moet men deze lijnen toevoegen in het web.config bestand, vóór </system.webServer>

<handlers>
<add name="ApiURIs-ISAPI-Integrated-4.0"
      path="/api/*"
      verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
      type="System.Web.Handlers.TransferRequestHandler"
      preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>

 


Versies

  • 12/12/2017 : v 1.0.1 : multi-threading verbetering in het wegschrijven van logbestanden.
  • 29/05/2018 : v 2.0.0 : compatibel met MercatorPenguin 2.0
  • 28/06/2018 : v 2.1.0 : compatibel met MercatorPenguin 2.1
  • 18/09/2018 : v 2.2.0 : compatibel met MercatorPenguin 2.2
  • 03/10/2018 : v 2.2.1 : compatibel met MercatorPenguin 2.2.1
  • 13/10/2018 : v 2.2.1.1 : bug fixing berekening ItemsSource van EditPickers
  • 20/10/2018 : v 2.2.1.2 : bug fixing creatie nieuwe fiche in informatiebestand zonder standaard data + compatibiliteit Roslyn-compilatie van rapporten
  • 23/10/2018 : v 2.2.1.3 : rekening houden van het PenguinServerBeforeValidateData-evenement van de MercatorUi.Sig.Sig class  Update van alle Mercator noodzakelijk!

Een LetsEncrypt certificaat instellen

1) Installeer de webservice volgens de beschrijving van deze pagina. Zorg er voor dat de url http://penguin.domain.com/testprocess.ashx “OK” retourneert. Als dit het geval is, is de webservice gestart en functioneel, zoniet corrigeert u de configuratie alvorens u door gaat naar de volgende stap. Stel niets handmatig in met betrekking tot de HTTPS-verbinding.

2) Poort 80 (http) moet geopend worden, deze moet naar de server verwijzen.

3) Download de letsencrypt-win-simple applicatie via https://github.com/Lone-Coder/letsencrypt-win-simple/releases  

4) Voer letsencrypt.exe uit. . Indien dit de eerste keer is, moet je de licentie aanvaarden en een emailadres opgeven waarop u meldingen met betrekking tot het verlopen van het certificaat wilt ontvangen.

5) In de uitnodiging geeft u het nummer van de site in dat overeenkomt met pinguin.domain.com.

6) Indien het de eerste keer is dat u een certificaat aanvraagt, moet u het aanmaken van een Windows-taak bevestigen. Deze taak zal het certificaat automatisch vernieuwen om de 60 dagen.

7) Test de url https://penguin.domain.com/testprocess.ashx 

Let's Encrypt



Te laden : 0000002758.zip (5941 Kb - 14-11-2018)