Dokument zawiera opis konfiguracji serwera usług internetowych - Internet Information Services (IIS). Z IIS korzystamy m.in. w celu uruchomienia aplikacji eAdmin, eWizja oraz ePodatki.

Uwaga!
  • Zrzuty okien i adresy ścieżki przygotowano na podstawie systemu Windows 10,
  • Filmy prezentujące konfigurowanie IIS znajdziemy na portalu YouTube.

Instalacja IIS

Przechodzimy do okna Programy i funkcje poprzez wciśnięcie kombinacji klawiszy Windows + R, w wyświetlonym oknie wpisujemy appwiz.cpl i zatwierdzamy klikając OK lub wciskając Enter.

 

W oknie Programy i funkcje wybieramy opcję Włącz lub wyłącz funkcje systemu Windows.

 

Odnajdujemy na liście Internetowe usługi informacyjne i zaznaczamy zgodnie z poniższymi zrzutami ekranu, a następnie zatwierdzamy klikając na przycisk OK.

Po kilku chwilach usługa powinna zostać pomyślnie zainstalowana, co system Windows potwierdzi wyświetlając stosowny komunikat.

 

Status usługi

Po zastosowaniu zmian, usługa IIS powinna zostać automatycznie uruchomiona. Status usługi sprawdzimy naciskając kombinację klawiszy Windows + R, w wyświetlonym oknie wpisujemy services.msc i zatwierdzamy klikając OK lub wciskając Enter. Uruchomione zostanie okno Usługi, na liście szukamy pozycji Usługa publikowania w sieci WWW. Powinna działać, wycinek poniżej.

 

Menedżer internetowych usług informacyjnych (IIS)

Naciskając kombinację klawiszy Windows + R, w wyświetlonym oknie wpisujemy inetmgr i zatwierdzamy klikając OK lub wciskając Enter. Uruchomiony zostanie Menedżer internetowych usług informacyjnych, czyli okno służące do zarządzania usługą IIS.

 

Dodawanie nowej witryny

 
Menedżer internetowych usług informacyjnych > Dodaj witrynę sieci Web

W celu utworzenia nowej witryny w IIS przechodzimy do Menedżera internetowych usług informacyjnych (IIS) > w sekcji Połączenia (lewa strona) klikamy PPM > wybieramy Dodaj witrynę sieci Web.

Wykonujemy kolejno kroki:

  1. Pole Nazwa witryny uzupełniamy dowolną nazwą, np. INFO-SYSTEM.
  2. Pula aplikacja - wybieramy pulę aplikacji, która ma wersję środowiska .Net CLR: 4.0 oraz Tryb potokowy: Zintegrowany. Możemy utworzyć pulę aplikacji o takich parametrach i nazwać ją INFO-SYSTEM.
  3. Ścieżka fizyczna to lokalizacja folderu wspólnego, w którym będą znajdowały się aplikacje INFO-SYSTEM.
  4. Wybieramy typ połączenia HTTP lub HTTPS (jeśli aplikacja ma być dostępna poza siecią lokalną zalecamy wybór protokołu HTTPS, aby dowiedzieć się więcej klikamy tutaj).
  5. Zatwierdzamy klikając na przycisk OK.

HTTPS/SSL

Uwaga! Jeśli chcemy, aby nasza aplikacja była dostępna poza siecią lokalną zalecamy stosowanie protokołu SSL.
 
Dodawanie certyfikatów serwera

Certyfikaty serwera

W Menedżerze internetowych usług informacyjnych znajdujemy i wchodzimy w opcję Certyfikaty serwera. Z prawej strony okna, w sekcji Akcje dostępne są opcje importowania oraz tworzenia certyfikatów.

Dodawanie witryny

Podczas dodawania nowej witryny typ połączenia ustawiamy jako HTTPS, a następnie wybieramy wcześniej dodany certyfikat SSL i zatwierdzamy klikając na przycisk OK.

 

Ustawienia protokołu SSL

W Menedżerze internetowych usług informacyjnych wybieramy wcześniej utworzoną witrynę, wchodzimy w pozycję Ustawienia protokołu SSL, a następnie zaznaczamy opcję Wymagaj protokołu SSL oraz wybieramy Ignoruj. Dzięki takiemu ustawieniu dostęp do naszej aplikacji będzie możliwy tylko i wyłącznie poprzez protokół SSL.

Uwaga! Jeśli nasz certyfikat SSL nie został wystawiony przez zaufanego wystawce niezbędne będzie dodanie w przeglądarce wyjątku aby uruchomić aplikację.
 
Ustawienia protokołu SSL

Szyfrowanie pliku konfiguracyjnego

Aplikacje przechowują dane konfiguracyjne w pliku Web.config w postaci niezaszyfrowanej. Zalecamy zaszyfrowanie sekcji zawierającej dane wrażliwe. Do szyfrowania używamy narzędzia ASP.NET IIS Registration Tool (Aspnet_regiis.exe).

Narzędzie aspnet_regiis.exe znajduje się w katalogu %windows%\Microsoft.NET\Framework\<wersja_.net_framework>

Aby zaszyfrować wybrane sekcje postępujemy kolejno:

  1. Uruchamiamy jako administrator Wiersz polecenia (cmd.exe).
  2. Przechodzimy do katalogu w którym znajduje się narzędzie ASP.NET IIS Registration Tool służące do szyfrowania.
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

Szyfrowanie

Schemat:

aspnet_regiis -pe "<nazwa_sekcji>" -app "/<folder_aplikacji>" -prov "RsaProtectedConfigurationProvider"

Przykład:

aspnet_regiis -pe "connectionStrings" -app "/eWizja" -prov "RsaProtectedConfigurationProvider"

Efekt:

<connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider">
<EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element" xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<KeyName>Rsa Key</KeyName>
</KeyInfo>
<CipherData>
<CipherValue>LyUdnmEgyetq9stzQizLkEiFfngcuxRZeNacsU0iHoKHyEvH40CIUiuv4I67DBT/Obf3yX9R6DZv42koMiHKSp7P4d3tE84nUVtAp8sdXgLnCh4ou9cx1Pbrzmbu/TXzHVOq2UsAh74hW0ULCKGjNfYvQiwHRJ1AZ3b5PHXA0uO6nI2vjZWH4t0LF2edd5zjSqtJRNvfmQoBBh7OSd5ZVyjGjJAftONsfah2Ffzepa4pjp1umWWUqLPROXrbujGP4DuLfbLvp1pt5O/y0zAypG3Z5ArCjlcGomLSn74qjLUCB1FcoZW9BQlb8U7jEhBNqg87sagoG1QgcmK4tbFvOg==</CipherValue>
</CipherData>
</EncryptedKey>
</KeyInfo>
<CipherData>
<CipherValue>zuubyHkocmWvRdBiKk5jYhRdnziOmYMIiS55dR/rHa7dRZzdwBOZeKitl59RguJlDlJyuAkuFfHIDZwkEzFHbzZzWRQn+aBogyhsRrfhAskq/cQwLN0zelWeDM8+GLn4Qjpgh8VB6OODBK7L/e/hKYML3stS9xcccAPv3ycMTkx18VFWOWDtUQEWN3iUBnO51l/9EgONlUmKKizlusoCAG9OYuVIlVOHGnOKkaojDGoseCuerF4hEks4z7GeVM6ynbP6AQHn38BUCtA2fYl8irLoWFD+KUwqmzWdmRJuuvhZs5D8Eo8Q9cIuPZO1kxNIq97FdxNErz1jO4m10mioWZdkLWGdNIV2lc39aeCmBt8xVcMTVZQCnBP4h1uhUgEf3arfPqmuliDPsewBpTfo9sGeNKZuiqVJcJwxb8baiSPBomJLZBvQRCMLo4HlqRiY7+Ifd8h0vI6DutN1OsF3V0hBuX+jQQGsYg19K4eschppdjdAaUeXfg==</CipherValue>
</CipherData>
</EncryptedData>
</connectionStrings>

Odszyfrowanie

Schemat:

aspnet_regiis -pd "<nazwa_sekcji<" -app "/<folder_aplikacji>"

Przykład:

aspnet_regiis -pd "connectionStrings" -app "/eWizja"

Efekt:

<connectionStrings>
<add name="FbAuthConnection" connectionString="User=nazwa_uzytkownika;Password=trudne_haslo;Database=D:\Bazy\is_wizja.gdb;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Role=;Connection lifetime=15;Pooling=true;MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;ServerType=0;"
providerName="FirebirdSql.Data.FirebirdClient" />
</connectionStrings>

Usługa sieciowa Finn

Wymagane biblioteki

Do działania aplikacji niezbędne jest doinstalowanie bibliotek umożliwiających uruchamianie w systemie Windows aplikacji stworzonych przy pomocy narzędzi programistycznych firmy Microsoft:

Usługi WCF

Do poprawnego działania usługi wymagane jest aktywowanie dodatkowej funkcji systemu Windows: .NET Framework 4.x > Usługi WCF > Aktywacja HTTP.

 
.NET Framework 4.x > Usługi WCF > Aktywacja HTTP

Dodawanie nowej witryny do IIS

  1. Wypakowujemy pliki usługi sieciowej do wybranej lokalizacji, np. C:\inetpub\FinnServiceClient (ścieżka domyślna witryn IIS to C:\inetpub\<katalog_aplikacji>).
  2. Dodajemy nową witrynę w IIS:
    1. Uruchamiamy Menedżer internetowych usług informacyjnych (IIS) > w sekcji Połączenia (lewa strona) klikamy PPM > wybieramy Dodaj witrynę sieci Web.
       
      Menedżer internetowych usług informacyjnych > Dodaj witrynę sieci Web
    2. Pole Nazwa witryny uzupełniamy dowolną nazwą, np. FinnServiceClient. Ścieżka fizyczna to lokalizacja folderu, do którego wypakowaliśmy pliki usługi sieciowej FinnServiceClient.
       
      Dodawanie witryny sieci Web
    3. W sekcji Powiązanie typ połączenia zmieniamy na https, Port ustawiamy na 44316, a następnie wybieramy nasz Certyfikat SSL.
    4. Zatwierdzamy klikając na przycisk OK.

Powiązania / Porty

Aby usługa działała musimy prawidłowo ustawić numery portów powiązanych z usługą w IIS.

 
Porty zdefiniowane w pliku Web.config

We wcześniejszym kroku ustawiliśmy już port 44316 dla https, pozostało nam ustawić port 55852 dla protokołu http. W tym celu w Menedżerze internetowych usług informacyjnych wchodzimy w dodaną witrynę. Z prawej strony okna, w sekcji Akcje klikamy na opcje Powiązania. Dodajemy tam nowe powiązanie, w którym Typ to http, a Port to 55852.

 
Witryna FinnServiceClient > Powiązania

Web.config - parametry

Edytując plik Web.config ustawiamy parametry usługi sieciowej.

connectionStrings

W sekcji connectionStrings podajemy ścieżkę bazy danych oraz nazwę użytkownika i hasło dostępu. Możemy również aktywować zapisywanie logów.

<connectionStrings>
<add name="FbConnection" connectionString="User=SYSDBA;Password=masterkey;Database=D:\Baza_danych\is_pdk.GDB;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Role=;Connection lifetime=15;Pooling=true;MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;ServerType=0;" providerName="FirebirdSql.Data.FirebirdClient" />
<add name="FbSecure" connectionString="true" />
<add name="LogFile" connectionString="C:\inetpub\FinnSoapService\log\Log.txt" />
<add name="Log" connectionString="true" />
</connectionStrings>
Uwaga! Zapisywanie logów w pliku Log.txt wymaga nadanie uprawnień do zapisu dla folderu log dla użytkownika IIS_WPG.

Rozmiar przesyłanych plików

Sekcja bindings określa maksymalny rozmiar pliku, który może zostać przesłany.

<bindings>
<basicHttpBinding>
<binding maxReceivedMessageSize="300485760">
</binding>
</basicHttpBinding>
<basicHttpsBinding>
<binding maxReceivedMessageSize="300485760">
</binding>
</basicHttpsBinding>
</bindings>

Status usługi sieciowej

Status usługi sieciowej możemy sprawdzić wchodząc na stronę https://localhost:44316/BrokerWebService.svc, jeśli wyświetli się strona jak na obrazku poniżej oznacza to, że usługa działa prawidłowo.

 
Działająca usługa FinnServiceClient

Konfiguracja po stronie Podatków

Pozostaje skonfigurować EOB w aplikacji Podatki, opis znajduje się na stronie ViDOK konfiguracja obiegu dokumentów#Finn.