Skip to content

Add an alternative IP address#658

Merged
encukou merged 2 commits intomasterfrom
frenzymadness-patch-2
Feb 2, 2021
Merged

Add an alternative IP address#658
encukou merged 2 commits intomasterfrom
frenzymadness-patch-2

Conversation

@frenzymadness
Copy link
Copy Markdown
Member

On Windows, IP address 0.0.0.0 might not work.

On Windows, IP address `0.0.0.0` might not work.
@encukou
Copy link
Copy Markdown
Member

encukou commented Aug 24, 2020

Does this mean that pipenv run serve prints out an address that doesn't work?

@Disi77
Copy link
Copy Markdown

Disi77 commented Aug 24, 2020

Does this mean that pipenv run serve prints out an address that doesn't work?

Yes, it doesnt work in my notebook ...pipenv run serve prints http://0.0.0.0:8003/, but in browser (Chrome) I get "ERR_ADDRESS_INVALID" ... address 127.0.0.1:8003 works

@encukou
Copy link
Copy Markdown
Member

encukou commented Aug 24, 2020

Radši bych to opravil než obešel dokumentací, viz pyvec/elsa#66

@frenzymadness
Copy link
Copy Markdown
Member Author

Možná se tu míchají dvě rozdílné věci. Spustit službu, která naslouchá na 0.0.0.0, je dle mého zcela v pořádku. IP adresa 0.0.0.0 je zástupce pro všechny IP adresy, které jsou na daném stroji nakonfigurovány. Tato IP adresa se používá velmi často v konfiguraci různých síťových služeb a třeba u MySQL se touto konfigurací řekne, že má naslouchat na všech rozhraních (všech IP adresách všech rozhraní).

Něco jiného je přístup na 0.0.0.0. Tady už se přístupy dost liší a to, že tuto adresu chrome považuje ze nevalidní, není úplně špatně. Používá se někdy i v routovacích tabulkách pro označení nedostupného hosta.

Za mě je tedy naprosto ok na této adrese "naslouchat", ale "navštívit" tuto adresu už úplně funkční být nemusí.

@frenzymadness
Copy link
Copy Markdown
Member Author

Něco málo k tomu: https://en.wikipedia.org/wiki/0.0.0.0

encukou added a commit to encukou/elsa that referenced this pull request Aug 24, 2020
Listening on 0.0.0.0 is perfectly OK: it means "all interfaces".
But connecting to 0.0.0.0 is not kosher.
Always connect to localhost in tests.

See pyvec/naucse.python.cz#658 (comment)
@encukou
Copy link
Copy Markdown
Member

encukou commented Aug 24, 2020

Souhasím! Ale jde tu ještě o něco jiného:

  • 0.0.0.0 je z bezpečnostního hlediska špatná výchozí hodnota: pokud ti nestačí 127.0.0.1 (t.j. se připojuješ zvenčí nebo máš víc síťových rozhraní), tak bys měl/a vědět co děláš. Elsa by měla mít možnost zadat --host 0.0.0.0, ale normálně používat 129.0.0.1.
  • To, že Flask ukáže Running on http://0.0.0.0:8003/, není úplně užitečné, ale podle bodu výše to ukazuje jen lidem, kteří ví co dělají. K tomu, aby mohl místo toho vypsat Connect to http://127.0.0.1:8003/ (pro jakoukoli adresu na které může poslouchat) by musel být mnohem chytřejší než bych od něj očekával.

Proto Elsa přejde na default Flasku (127.0.0.1) a dostane volbu --host: pyvec/elsa#67

encukou added a commit to encukou/elsa that referenced this pull request Aug 24, 2020
Listening on 0.0.0.0 is perfectly OK: it means "all interfaces".
But connecting to 0.0.0.0 is not kosher.
Always connect to localhost in tests.

See pyvec/naucse.python.cz#658 (comment)
Comment thread README.md Outdated
Co-authored-by: Petr Viktorin <encukou@gmail.com>
@frenzymadness
Copy link
Copy Markdown
Member Author

Super.

@encukou encukou merged commit cac4395 into master Feb 2, 2021
@encukou encukou deleted the frenzymadness-patch-2 branch February 2, 2021 09:41
encukou pushed a commit to encukou/naucse-python that referenced this pull request Aug 16, 2022
On Windows, IP address `0.0.0.0` might not work.
Recent Elsa defaults to 127.0.0.1 (see pyvec/elsa#66)

pyvec/naucse.python.cz#658
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants