# Włączanie HTTPS dla Xopero ONE w modelu wdrożenia on-premise

## Linux i Windows

### <mark style="background-color:blue;">Konfiguracja</mark>

1. Otwórz plik `appsettings.json` znajdujący się w katalogu instalacyjnym usługi **Xopero ONE Management Service**:
   * **Windows (domyślnie):** `C:\Program Files\Xopero ONE Backup&Recovery`
   * **Linux (domyślnie):** `/opt/XoperoONEManagementService`

{% hint style="info" %}
Plik ten jest standardowym plikiem konfiguracyjnym **JSON**, który należy zmodyfikować.
{% endhint %}

2. Zlokalizuj sekcję `"commented_out_Kestrel"`, która domyślnie wygląda następująco:

```json
"commented_out_Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://*:5000"
}
```

3. Zmodyfikuj sekcję, usuwając przedrostek `commented_out_` i wprowadzając konfigurację HTTPS w następujący sposób:

```json
"Kestrel": {
"Endpoints": {
      		"Http": {
      		 		"Url": "http://*:5000"
      },
		"Https": {
				"Url": "https://*:5001",
				"Certificate":{
						"Path": "<.pfx file path>",
						"Password": "<certificate password>"
		}
	  }
    }
  }
```

**Path** - Pełna ścieżka do pliku certyfikatu .pfx (Pamiętaj o użyciu podwójnych ukośników w systemie **Windows**. Przykładowo, jeśli certyfikat znajduje się w `C:\cert.pfx`, zapisz to jako: `C:\\cert.pfx`)

* **Path:** Pełna ścieżka do pliku certyfikatu .pfx (Pamiętaj o użyciu podwójnych ukośników w systemie **Windows**. Przykładowo, jeśli certyfikat znajduje się w `C:\cert.pfx`, zapisz to jako: `C:\\cert.pfx`).
* **Password:** Hasło do certyfikatu.

{% hint style="info" %}
Więcej o konfiguracji **Kestrel** możesz dowiedzieć się na [oficjalnej stronie Microsoft](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel/endpoints?view=aspnetcore-9.0).
{% endhint %}

### <mark style="background-color:blue;">Restartowanie usługi Xopero ONE Management Service</mark>

Po edycji pliku `appsettings.json`, zrestartuj usługę, aby zastosować zmiany:

* **Windows**:

```cmd
net stop XoperoONEManagementService
net start XoperoONEManagementService
```

* **Linux**:

```bash
systemctl restart XoperoONEManagementService
```

{% hint style="danger" %}
Po skonfigurowaniu HTTPS dla **Management Service**, musisz przełączyć komunikację agentów na ten protokół. W tym celu znajdź plik `config.json` w katalogu instalacyjnym agenta (domyślnie: `C:\Program Files\Xopero ONE Backup&Recovery Agent`), otwórz go za pomocą dowolnego edytora tekstu, następnie zmień parametr `ServiceUrl` aby używać protokołu `https://`. Zapisz zmiany i zrestartuj agenta.
{% endhint %}

***

## Docker

### <mark style="background-color:blue;">Konfiguracja</mark>

Podczas wdrażania kontenera z usługą Xopero ONE, musisz uwzględnić dwie dodatkowe zmienne środowiskowe:

`ASPNETCORE_Kestrel__Certificates__Default__Path ASPNETCORE_Kestrel__Certificates__Default__Password`

Te zmienne definiują ścieżkę do certyfikatu **SSL** oraz odpowiadające mu hasło.

**Wartość** zmiennych skonfiguruj w następujący sposób:

* `ASPNETCORE_Kestrel__Certificates__Default__Path` — ścieżka do certyfikatu w formacie `.pfx`.&#x20;
* `ASPNETCORE_Kestrel__Certificates__Default__Password` — hasło do certyfikatu.&#x20;

Przykład:

<figure><img src="/files/UTI5FtGMRZOb8YgtA9tg" alt=""><figcaption></figcaption></figure>

Konieczne jest upewnienie się, że certyfikat jest przechowywany w **zamontowanej** i **trwałej lokalizacji**, aby pozostał dostępny i nie został usunięty podczas aktualizacji lub ponownego wdrażania kontenera.

{% hint style="warning" %}
Poza wdrożeniem certyfikatu na serwerze, wszystkie urządzenia łączące się z konsolą muszą uznawać ten certyfikat za **zaufany**. W przypadku korzystania z certyfikatu **samopodpisanego** (**self-signed**), musisz go zaimportować na **każdym** **urządzeniu łączącym się z konsolą**. W przeciwnym wypadku, połączenie szyfrowane HTTPS może zostać odrzucone, ze względu na brak zaufania do certyfikatu.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://helpcenter.xopero.com/xopero-one-en/pl/rozwiazywanie-problemow/wlaczanie-https-dla-xopero-one-w-modelu-wdrozenia-on-premise.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
