Přístup k flask app (spuštěné na VM - linux) z internetu (prohlížeče)

Problémy s internetovými stránkami, internetovým prohlížečem atpod.

Moderátor: Mods_senior

Uživatelský avatar
d-pozz
Level 2
Level 2
Příspěvky: 232
Registrován: listopad 06
Pohlaví: Nespecifikováno

Přístup k flask app (spuštěné na VM - linux) z internetu (prohlížeče)

Příspěvekod d-pozz » 08 říj 2023 20:31

Ahoj všem,

udělal jsem si na Oracle cloudu (free tier) virtuálku (Linux Ubuntu 22.04) a na ní jsem z git hubu nainstaloval podle návodu aplikaci a na tu by se mělo přistupovat prostřednictvím prohlížece z internetu (http://moje-server-IP:port).

Aplikaci tedy prostřednictvím SSH commandu spustím, vše podle postupu a comman píše že aplikace běží na adrese: např. http://127.0.0.1:8000.

Port mám otevřený v OCI (ingress pravidla na několik portů - otevřeno, včetně 8000, 8888 atd.) Nevíte, jak tu aplikaci zpřístupnit z venku, abych se na ni dostal ?

Je zajímavé, že na druhé virtuálce, která má btw stejná security pravidla (otevřené stejné porty atd.) tak jsem naistaloval www.cloudpanel.io, abych tam mohl provozovat Wordpress stránky atd.... no a tam normálně se dostanu na ten cloud panel adresou ve stylu: https://public-ip-mého-serveru:8000. A vše funguje.

Nechápu, že u té apky prostě ne. Jediné, co mi píše příkazový řádek je, že appku bych měl mít na produkčním serveru.

Víte prosím, jak tu appku spustit tak, abych ji mohl vidět ve svém prohlížeči?

Děkuji moc. Jsem celkem laik, učím se tohle, tak snad budu rozumět, kdyžtak nějakým techničtějším dotazům. ChatGPT, Barda apod. jsem zkoušel, ale pořád píšou, že buď nastavení firewallu nebo povolit porty... ale to mám. Teda firewall nevím, co kde jak lépe nastavit v OCI.

Díky moc.

Reklama
Uživatelský avatar
rhsCZ
Level 4
Level 4
Příspěvky: 1375
Registrován: červen 13
Pohlaví: Muž

Re: Přístup k flask app (spuštěné na VM - linux) z internetu (prohlížeče)

Příspěvekod rhsCZ » 08 říj 2023 20:37

přilož co vypíše

Kód: Vybrat vše

ufw status

a

Kód: Vybrat vše

iptables -L


„Zeptáš-li se, budeš 5 minut vypadat jako blbec. Nezeptáš-li se, budeš blbcem po celý život.“
„Mnozí z těch, co žijí, by zasluhovali smrt. A mnozí z těch, co zemřeli, by si zasloužili žít.“ - John Ronald Reuel Tolkien
„Je lepší být nenáviděn pro to, jaký jsi, než být milován pro to, co nejsi.“ - Kurt Cobain
https://rhscz.eu
https://github.com/rhsCZ

Uživatelský avatar
d-pozz
Level 2
Level 2
Příspěvky: 232
Registrován: listopad 06
Pohlaví: Nespecifikováno

Re: Přístup k flask app (spuštěné na VM - linux) z internetu (prohlížeče)

Příspěvekod d-pozz » 08 říj 2023 20:47

Ahoj, díky za reakci:

Status: inactive

a

Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT udp -- anywhere anywhere udp spt:ntp
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
InstanceServices all -- anywhere 169.254.0.0/16

Chain InstanceServices (1 references)
target prot opt source destination
ACCEPT tcp -- anywhere 169.254.0.2 owner UID match root tcp dpt:iscsi-target /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
ACCEPT tcp -- anywhere 169.254.2.0/24 owner UID match root tcp dpt:iscsi-target /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
ACCEPT tcp -- anywhere 169.254.4.0/24 owner UID match root tcp dpt:iscsi-target /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
ACCEPT tcp -- anywhere 169.254.5.0/24 owner UID match root tcp dpt:iscsi-target /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
ACCEPT tcp -- anywhere 169.254.0.2 tcp dpt:http /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
ACCEPT udp -- anywhere 169.254.169.254 udp dpt:domain /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
ACCEPT tcp -- anywhere 169.254.169.254 tcp dpt:domain /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
ACCEPT tcp -- anywhere 169.254.0.3 owner UID match root tcp dpt:http /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
ACCEPT tcp -- anywhere 169.254.0.4 tcp dpt:http /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
ACCEPT tcp -- anywhere 169.254.169.254 tcp dpt:http /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
ACCEPT udp -- anywhere 169.254.169.254 udp dpt:bootps /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
ACCEPT udp -- anywhere 169.254.169.254 udp dpt:tftp /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
ACCEPT udp -- anywhere 169.254.169.254 udp dpt:ntp /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */
REJECT tcp -- anywhere 169.254.0.0/16 tcp /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */ reject-with tcp-reset
REJECT udp -- anywhere 169.254.0.0/16 udp /* See the Oracle-Provided Images section in the Oracle Cloud Infrastructure documentation for security impact of modifying or removing this rule */ reject-with icmp-port-unreachable

Uživatelský avatar
rhsCZ
Level 4
Level 4
Příspěvky: 1375
Registrován: červen 13
Pohlaví: Muž

Re: Přístup k flask app (spuštěné na VM - linux) z internetu (prohlížeče)

Příspěvekod rhsCZ » 08 říj 2023 20:54

ještě přilož

Kód: Vybrat vše

netstat -tupln


„Zeptáš-li se, budeš 5 minut vypadat jako blbec. Nezeptáš-li se, budeš blbcem po celý život.“
„Mnozí z těch, co žijí, by zasluhovali smrt. A mnozí z těch, co zemřeli, by si zasloužili žít.“ - John Ronald Reuel Tolkien
„Je lepší být nenáviděn pro to, jaký jsi, než být milován pro to, co nejsi.“ - Kurt Cobain
https://rhscz.eu
https://github.com/rhsCZ

Uživatelský avatar
d-pozz
Level 2
Level 2
Příspěvky: 232
Registrován: listopad 06
Pohlaví: Nespecifikováno

Re: Přístup k flask app (spuštěné na VM - linux) z internetu (prohlížeče)

Příspěvekod d-pozz » 08 říj 2023 22:09

ahoj,
píše mi:

netstat -tupln
Command 'netstat' not found, but can be installed with:
sudo apt install net-tools


tak jsem zkusil naistalovat a výsledek je:

sudo apt install net-tools
E: Conflicting values set for option Signed-By regarding source https://dl.cloudsmith.io/public/caddy/s ... eb/debian/ any-version: /usr/share/keyrings/caddy-stable-archive-keyring.gpg != /usr/share/keyrings/caddy-archive-keyring.gpg
E: The list of sources could not be read.


Dodatečně přidáno po 1 minutě 23 vteřinách:
když jsem jeden z nich zkusil odstranit takto:

sudo rm /usr/share/keyrings/caddy-stable-archive-keyring.gpg
rm: cannot remove '/usr/share/keyrings/caddy-stable-archive-keyring.gpg': No such file or directory

Dodatečně přidáno po 23 minutách 5 vteřinách:
Ještě teda je zajímavé, že mám 4 virtuálky. A vyzkoušel jsem command netstat -tupln na 3 z nich.

1 - zde je cloudpanel.io nainstalován - netstat -tupln FUNGUJE
2 - netstat -tupln nefungoval, nainstaloval jsem jej přes command sudo apt install net-tools, a nyní netstat -tupln FUNGUJE
3 - TUTO ŘEŠÍME NYNÍ - netstat -tupln NEFUNGUJE ani instalace přes sudo apt install net-tools NEFUNGUJE :(

Někde jsem sakra udělal chybu asi na začátku, možná, že jsem nedal sudo apt update před instalací čehokoliv dalšího ?

Uživatelský avatar
rhsCZ
Level 4
Level 4
Příspěvky: 1375
Registrován: červen 13
Pohlaví: Muž

Re: Přístup k flask app (spuštěné na VM - linux) z internetu (prohlížeče)

Příspěvekod rhsCZ » 09 říj 2023 00:09

Net-tools by měl být v defaultním repozitáři ubuntu. Jestli si nedaval apt update tak udělej a pak zkus nainstalovat net-tools
Když to nepůjde tak zkusíme na to jít jinak.
Pokud bude problem dej sem

Kód: Vybrat vše

ls -la /etc/apt/sources.list.d/


„Zeptáš-li se, budeš 5 minut vypadat jako blbec. Nezeptáš-li se, budeš blbcem po celý život.“
„Mnozí z těch, co žijí, by zasluhovali smrt. A mnozí z těch, co zemřeli, by si zasloužili žít.“ - John Ronald Reuel Tolkien
„Je lepší být nenáviděn pro to, jaký jsi, než být milován pro to, co nejsi.“ - Kurt Cobain
https://rhscz.eu
https://github.com/rhsCZ

Uživatelský avatar
d-pozz
Level 2
Level 2
Příspěvky: 232
Registrován: listopad 06
Pohlaví: Nespecifikováno

Re: Přístup k flask app (spuštěné na VM - linux) z internetu (prohlížeče)

Příspěvekod d-pozz » 09 říj 2023 01:11

ls -la /etc/apt/sources.list.d/
total 16
drwxr-xr-x 2 root root 4096 Oct 8 15:47 .
drwxr-xr-x 8 root root 4096 Oct 8 20:26 ..
-rw-r--r-- 1 root root 449 Oct 8 15:43 caddy-stable.list
-rw-r--r-- 1 root root 135 Oct 8 15:47 caddy.list

Dodatečně přidáno po 34 vteřinách:
//
netstat -tupln stále píše:
Command 'netstat' not found, but can be installed with:
sudo apt install net-tools

Uživatelský avatar
rhsCZ
Level 4
Level 4
Příspěvky: 1375
Registrován: červen 13
Pohlaví: Muž

Re: Přístup k flask app (spuštěné na VM - linux) z internetu (prohlížeče)

Příspěvekod rhsCZ » 09 říj 2023 02:15

Co máš z toho caddy repozitáře? Kdyby byl potřeba tak to vyřešíme později.
Jinak pro teď bych ho zákazal
Pusť

Kód: Vybrat vše

mv /etc/apt/sources.list.d/caddy-stable.list /etc/apt/sources.list.d/caddy-stable.list.old

Kód: Vybrat vše

mv /etc/apt/sources.list.d/caddy.list /etc/apt/sources.list.d/caddy.list.old

Pak dej

Kód: Vybrat vše

apt update
apt upgrade -y
apt install net-tools

A pak zkus

Kód: Vybrat vše

netstat -tupln


„Zeptáš-li se, budeš 5 minut vypadat jako blbec. Nezeptáš-li se, budeš blbcem po celý život.“
„Mnozí z těch, co žijí, by zasluhovali smrt. A mnozí z těch, co zemřeli, by si zasloužili žít.“ - John Ronald Reuel Tolkien
„Je lepší být nenáviděn pro to, jaký jsi, než být milován pro to, co nejsi.“ - Kurt Cobain
https://rhscz.eu
https://github.com/rhsCZ

zeus
Elite Level 10.5
Elite Level 10.5
Příspěvky: 11043
Registrován: únor 12
Bydliště: Pankrac
Pohlaví: Muž

Re: Přístup k flask app (spuštěné na VM - linux) z internetu (prohlížeče)

Příspěvekod zeus » 09 říj 2023 10:31

Víte prosím, jak tu appku spustit tak, abych ji mohl vidět ve svém prohlížeči?

Pokud jde o Flask zmineny v nazvu vlakna, pak je treba pridat parametr host.
flask run --host=0.0.0.0 --port=8000

By default, Flask applications listen on the localhost address 127.0.0.1:5000, which means they can only be accessed from the same machine that the application is running on.
Prazaci jo ty se maj, az kdyz si me zavolaj..

Uživatelský avatar
d-pozz
Level 2
Level 2
Příspěvky: 232
Registrován: listopad 06
Pohlaví: Nespecifikováno

Re: Přístup k flask app (spuštěné na VM - linux) z internetu (prohlížeče)

Příspěvekod d-pozz » 09 říj 2023 11:32

rhsCZ píše:Co máš z toho caddy repozitáře? Kdyby byl potřeba tak to vyřešíme později.
Jinak pro teď bych ho zákazal
Pusť

Kód: Vybrat vše

mv /etc/apt/sources.list.d/caddy-stable.list /etc/apt/sources.list.d/caddy-stable.list.old

Kód: Vybrat vše

mv /etc/apt/sources.list.d/caddy.list /etc/apt/sources.list.d/caddy.list.old

Pak dej

Kód: Vybrat vše

apt update
apt upgrade -y
apt install net-tools

A pak zkus

Kód: Vybrat vše

netstat -tupln



Ahoj, tak tohle pomohlo. Ten Caddy nepotřebuju - nějak jsem jej nainstaloval, že mi to doporučil ChatGPT pro úspěšné spuštění těch aplikací.
Byl to nejspíše on, co dělá problém, protože na ostatních virtuálkách jej nemám a ten netstat tam pustím.

Zde je tedy konečně netstat, díky moc:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 465082/sshd: /usr/s
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 444732/cupsd
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 439247/systemd-reso
tcp6 0 0 :::22 :::* LISTEN 465082/sshd: /usr/s
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 ::1:631 :::* LISTEN 444732/cupsd
udp 0 0 127.0.0.53:53 0.0.0.0:* 439247/systemd-reso
udp 0 0 192.168.10.246:68 0.0.0.0:* 439240/systemd-netw
udp 0 0 0.0.0.0:111 0.0.0.0:* 1/systemd
udp 0 0 0.0.0.0:631 0.0.0.0:* 444879/cups-browsed
udp 0 0 0.0.0.0:45822 0.0.0.0:* 442265/avahi-daemon
udp 0 0 0.0.0.0:5353 0.0.0.0:* 442265/avahi-daemon
udp6 0 0 :::45139 :::* 442265/avahi-daemon
udp6 0 0 :::111 :::* 1/systemd
udp6 0 0 :::5353 :::* 442265/avahi-daemon

Dodatečně přidáno po 3 minutách 28 vteřinách:
zeus píše:
Víte prosím, jak tu appku spustit tak, abych ji mohl vidět ve svém prohlížeči?

Pokud jde o Flask zmineny v nazvu vlakna, pak je treba pridat parametr host.
flask run --host=0.0.0.0 --port=8000

By default, Flask applications listen on the localhost address 127.0.0.1:5000, which means they can only be accessed from the same machine that the application is running on.



To je dobrej point. V aplikaci mám host nastaven a právě jsem jej měnil i na 0.0.0.0. pro test, aplikace pak byla dostupná asi na 3 ip adresách podle command promptu, ale na každou, když jsem klikl a otevřel, tak prostě v prohlížeči se veřejně nezobrazila. Něco tam blokuje ten výstup ven.

Uživatelský avatar
rhsCZ
Level 4
Level 4
Příspěvky: 1375
Registrován: červen 13
Pohlaví: Muž

Re: Přístup k flask app (spuštěné na VM - linux) z internetu (prohlížeče)

Příspěvekod rhsCZ » 09 říj 2023 15:38

Takhle chtěl jsem vidět výstup toho příkazu když je puštěnej flask abych viděl na čem naslouchá.
nicméně oracle funguje tak, že ve vps máš na rozhraní přidělenou privátní ip adresu kterou oracle natuje a směřuje provoz z/na veřejnou ip adresu tudíž samotný virtuál nezná jakou má veřejnou adresu.
Nastavení ip adresy na 127.0.0.1 způsobí to že daná aplikace naslouchá pouze na localhostu tj. že možný přístup je jen z virtualu a nikdy z venčí a když nastavíš na 0.0.0.0, tak to znamenä že naslouchá na všech ip adresách a tudíž je přístupná i z venčí a při startu ti to může vyplivnout např. že se tam dostaneš např. přes http://10.0.0.156:8000 ale musíš použít http://verejna-ip:8000


„Zeptáš-li se, budeš 5 minut vypadat jako blbec. Nezeptáš-li se, budeš blbcem po celý život.“
„Mnozí z těch, co žijí, by zasluhovali smrt. A mnozí z těch, co zemřeli, by si zasloužili žít.“ - John Ronald Reuel Tolkien
„Je lepší být nenáviděn pro to, jaký jsi, než být milován pro to, co nejsi.“ - Kurt Cobain
https://rhscz.eu
https://github.com/rhsCZ

Uživatelský avatar
d-pozz
Level 2
Level 2
Příspěvky: 232
Registrován: listopad 06
Pohlaví: Nespecifikováno

Re: Přístup k flask app (spuštěné na VM - linux) z internetu (prohlížeče)

Příspěvekod d-pozz » 09 říj 2023 16:23

Ahoj, když je ten flask puštěnej, tak mám v příkazovém řádku:

python3 main.py
* Serving Flask app 'web_app'
* Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:8888
* Running on http://(mojeprivateipadresa):8888
Press CTRL+C to quit


-Tedy když bych ti chtěl spustit nyní netstat -tupln, tak musím dát CTRL+C a ukončit to, jinak mi žádný příkaz zadat nejde, dokud neukončím tu aplikaci.
- Když použiji v prohlížeči http://verejna-ip:8888, jak píšeš, tak se nenačte (aplikace běží).
- Zkoušel jsem také v souboru flask appky už dříve, jak píše zeus f(lask run --host=0.0.0.0 --port=8000) nastavit flasku run natvrdo na moji veřejnou IP adresu serveru, ale to mi pak házelo chybu, když jsem appku spustil v command promptu, něco jako, že danou IP adresu nemůže najít (a přitom to byla veřejná IP mého serveru).

Děkuju za pomoc.

Dodatečně přidáno po 2 minutách 28 vteřinách:
Edit:// takhle to vypadalo, když tam narvu natvrdo veřejnou IP:

python3 main.py
* Serving Flask app 'web_app'
* Debug mode: off
Cannot assign requested address


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Přístup na domácí server (WebDAV) z lokální sítě i z internetu
    od remkren » 30 pro 2023 17:19 » v Administrace sítě
    5
    4070
    od Microsheep
    31 pro 2023 08:29
  • Bezplatná Proton VPN je již dostupná i pro prohlížeče založené na Firefoxu a Chrome
    od postcd » 15 srp 2024 14:39 » v Web-tipy a vaše weby
    0
    1425
    od postcd
    15 srp 2024 14:39
  • Vzdálený přístup z mobilu na mobil
    od czTANIScz » 30 čer 2024 14:32 » v Mobily, tablety a jiná přenosná zařízení
    4
    2287
    od czTANIScz
    11 črc 2024 21:11
  • Jaký Linux
    od nakatomi » 26 úno 2024 17:24 » v LiNuX a ostatní alternativní OS
    11
    4761
    od Martab
    28 úno 2024 09:18
  • Q4OS či Zorin nebo jiný CZ Linux?
    od IMB » 26 lis 2024 17:17 » v LiNuX a ostatní alternativní OS
    4
    1009
    od faraon
    včera, 10:34

Zpět na “Internet a internetové prohlížeče”

Kdo je online

Uživatelé prohlížející si toto fórum: CommonCrawl [Bot] a 1 host