> For the complete documentation index, see [llms.txt](https://ayakaleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ayakaleaf-pro.ayaka.space/on-premises/fi/konfiguraatio/overleaf-toolkit/tls-proxy.md).

# TLS-välityspalvelin

Valinnainen TLS-välityspalvelin HTTPS-yhteyksien päättämiseen NGINX:ää käyttäen.

Suorita `bin/init --tls` paikallisen kokoonpanon alustamiseksi NGINX-välityspalvelimen kokoonpanolla tai NGINX-välityspalvelimen kokoonpanon lisäämiseksi olemassa olevaan paikalliseen kokoonpanoon. A **esimerkki** yksityisavain luodaan tiedostoon `config/nginx/certs/overleaf_key.pem` ja **testi** varmenne tiedostoon `config/nginx/certs/overleaf_certificate.pem`Korvaa nämä joko todellisella yksityisavaimellasi ja varmenteellasi tai aseta `TLS_PRIVATE_KEY_PATH` ja `TLS_CERTIFICATE_PATH` muuttujien arvot todellisen yksityisavaimesi ja varmenteesi polkuihin vastaavasti.

NGINX:n oletuskokoonpano on annettu tiedostossa `config/nginx/nginx.conf` jota voidaan mukauttaa tarpeidesi mukaan. Määritystiedoston polkua voidaan muuttaa `NGINX_CONFIG_PATH` muuttujalla.

{% hint style="success" %}
Jos sinulla on **docker-compose.yml** pohjainen käyttöönotto tai hallinnoit omaa NGINX-käänteistä välityspalvelintasi, voit tarkastella esimerkkitiedostoa **nginx.conf** tiedoston [täällä](https://github.com/overleaf/toolkit/blob/master/lib/config-seed/nginx.conf).
{% endhint %}

Lisää seuraava osio tiedostoosi `config/overleaf.rc` jos sitä ei ole jo siellä:

```
# TLS-välityspalvelimen kokoonpano (valinnainen)
NGINX_ENABLED=false
NGINX_CONFIG_PATH=config/nginx/nginx.conf
NGINX_HTTP_PORT=80

Korvaa nämä IP-osoitteet isäntäkoneesi ulkoisella IP-osoitteella
NGINX_HTTP_LISTEN_IP=127.0.1.1 
NGINX_TLS_LISTEN_IP=127.0.1.1
TLS_PRIVATE_KEY_PATH=config/nginx/certs/overleaf_key.pem
TLS_CERTIFICATE_PATH=config/nginx/certs/overleaf_certificate.pem
TLS_PORT=443
```

{% hint style="danger" %}
Jos käytät ulkoista TLS-välityspalvelinta (eli sellaista, jota Overleaf Toolkit ei hallinnoi), varmista, että `OVERLEAF_TRUSTED_PROXY_IPS=loopback,<ip-of-your-tls-proxy>` on asetettu tiedostossasi `config/variables.env`, esim. `OVERLEAF_TRUSTED_PROXY_IPS=loopback,192.168.13.37`.
{% endhint %}

{% hint style="danger" %}
Jos käytät aliverkkoa `172.16.0.0/12` (Docker-verkkojen oletusaliverkko) paikallisessa verkossasi, sinun täytyy asettaa `OVERLEAF_TRUSTED_PROXY_IPS=loopback,<network>` tiedostossasi `config/variables.env`Missä `<network>` on `IPAM -> Config -> Subnet` arvo komennossa `docker inspect overleaf_default`, esim. `OVERLEAF_TRUSTED_PROXY_IPS=loopback,172.19.0.0/16`. Tämä on estämään `X-Forwarded` otsakkeiden väärentämisen.
{% endhint %}

{% hint style="info" %}
Jos `OVERLEAF_TRUSTED_PROXY_IPS` ei aseteta manuaalisesti, oletusarvo on `loopback`. Jos asetat sen manuaalisesti, sinun on varmistettava, että sisällytät jonkin seuraavista: `loopback`, `localhost` tai `127.0.0.1`, joka luottaa **nginx** instanssiin, joka on käynnissä **sharelatex** kontin sisällä.
{% endhint %}

Jos olet määrittänyt luotetut välityspalvelimen IP-osoitteet oikein, sinun pitäisi nähdä julkinen IP-osoitteesi `/user/sessions` sivulla näin:

<figure><img src="/files/630fe0f39f231143ee0ede7cda408b3946c52226" alt="" width="375"><figcaption></figcaption></figure>

Jos yllä näytetty IP-osoite on edelleen jotain kuten `127.0.0.1` tai yksityisen/paikallisen verkon IP-osoite, tarkista luotetun välityspalvelimen määritys, erityisesti arvon `OVERLEAF_TRUSTED_PROXY_IPS`.

Jotta välityspalvelin voidaan käynnistää, muuta `NGINX_ENABLED` muuttujan arvo `config/overleaf.rc` arvosta `epätosi` arvoon `tosi` ja suorita uudelleen `bin/up`.

Oletusarvoisesti HTTPS-verkkokäyttöliittymä on käytettävissä osoitteessa `https://127.0.1.1:443`. Yhteydet osoitteeseen `http://127.0.1.1:80` ohjataan osoitteeseen `https://127.0.1.1:443`. Vaihtaaksesi IP-osoitteen, jossa NGINX kuuntelee, aseta `NGINX_HTTP_LISTEN_IP` ja `NGINX_TLS_LISTEN_IP` muuttujat. Portteja voidaan muuttaa käyttämällä `NGINX_HTTP_PORT` ja `TLS_PORT` muuttujia.

Jos NGINX ei käynnisty virheilmoituksella `Error starting userland proxy: listen tcp4 ... bind: address already in use` varmista, että `OVERLEAF_LISTEN_IP:OVERLEAF_PORT` ei ole päällekkäinen `NGINX_HTTP_LISTEN_IP:NGINX_HTTP_PORT`.

```mermaid
sequenceDiagram
participant user as Käyttäjä
participant external as Ulkoinen isäntä
participant internal as Sisäinen isäntä
participant nginx as nginx
participant sharelatex as sharelatex
participant git-bridge as git-bridge
%% Käyttäjä muodostaa yhteyden ulkoiseen isäntään HTTP:llä
user->>+ external: HTTP
note over external: NGINX_HTTP_LISTEN_IP:NGINX_HTTP_PORT
external->>+ nginx: HTTP
note over nginx: nginx:80
nginx-->>-external: 301
%% Käyttäjä muodostaa yhteyden ulkoiseen isäntään HTTPS:llä
user->>+ external: HTTPS
note over external: NGINX_TLS_LISTEN_IP:TLS_PORT
external->>+ nginx: HTTPS
note over nginx: nginx:443
nginx->>+ sharelatex: HTTP
note over sharelatex: sharlatex:80
%% Käyttäjä muodostaa yhteyden localhostiin HTTP:llä
user->>+ internal: HTTP
note over internal: OVERLEAF_LISTEN_IP:OVERLEAF_PORT
internal->>+sharelatex: HTTP
note over sharelatex: sharlatex:80
%% sharelatex muodostaa yhteyden git-bridgeen
sharelatex->>+git-bridge: HTTP /git/
note over git-bridge: git-bridge:8000
note over sharelatex: GIT_BRIDGE_HOST:GIT_BRIDGE_PORT
git-bridge->>+sharelatex: WEB/WEB-API:3000
git-bridge->>+sharelatex: HISTORY-V1:3100
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://ayakaleaf-pro.ayaka.space/on-premises/fi/konfiguraatio/overleaf-toolkit/tls-proxy.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
