Ga naar hoofdinhoud

Online zetten: waar je server luistert

fastapi dev liet http://127.0.0.1:8000 zien, en fastapi run liet http://0.0.0.0:8000 zien. Dat adres zegt wie er bij je server kan.

Twee adressen​

AdresWie er bij je server kan
127.0.0.1alleen deze computer
0.0.0.0iedereen die deze computer kan bereiken, op elk netwerk waar hij aan hangt

Op een server is 0.0.0.0 wat je wilt: daar moeten bezoekers van internet bij. Op je laptop is je site nog niet klaar voor bezoekers, en op het wifi van school kan dan een klasgenoot meekijken.

Zelf kiezen​

Met --host kies je het adres zelf, en met --port de poort. Stop je server, en start hem zo:

fastapi run main.py --host 127.0.0.1 --port 8000

Zo start je je site voortaan op je laptop. Straks draait hij in een container, een afgeschermd stukje Linux, en daar is het andersom: dan moet hij juist op 0.0.0.0 luisteren. Dat zie je in les 16.

Je handleiding op /docs zette je in de route Veiligheid uit (Wat je server laat zien: de handleiding uitzetten). Deed je dat nog niet, doe het dan voordat je site in les 33 op internet komt.

Controlevraag
Je zit op het wifi van school en start je site met fastapi run main.py, zonder --host. Je klikte bij de firewall op Toegang toestaan. Een klasgenoot typt het adres van jouw laptop met :8000 erachter. Wat ziet hij?
Kies wat jij denkt. Bij het goede antwoord zie je de uitleg.

Er gaat iets mis​

No such option​

No such option: --hots (Possible options: --host, --port)

Oorzaak: een tikfout in de optie. fastapi noemt erachter de opties die erop lijken.

Oplossing: typ --host met twee streepjes en zonder tikfout. Met fastapi run --help zie je alle opties.

De pagina laadt niet met een andere poort​

Je startte met --port 8001, en http://127.0.0.1:8000 laadt niet meer.

Oorzaak: de poort is deel van het adres. Je site staat nu op 8001.

Oplossing: open http://127.0.0.1:8001, of start weer met --port 8000.

Opdrachten​

Opdracht 1: Investigate - Waar staat het in de terminal?​

Start je project één keer met fastapi dev main.py en één keer met fastapi run main.py --host 127.0.0.1. Welke regels in de terminal laten de verschillen zien?

Antwoord

Het adres staat bij Server started at: in beide gevallen http://127.0.0.1:8000. Het herladen zie je aan Will watch for changes in these directories: die regel staat er alleen bij dev. Bovenaan staat ook nog development mode of production mode.

Door naar les 4: de lijst van je packages.