CasaOS może hostować stronę internetową, ale stronę i interfejs administracyjny CasaOS należy traktować jako oddzielne usługi. To była najważniejsza rada w tym krótkim wątku z października 2023 r.: uruchomienie serwera internetowego w Dockerze jest rozsądne, natomiast bezpośrednie udostępnienie pulpitu CasaOS w publicznym Internecie to zupełnie inna i znacznie bardziej ryzykowna decyzja.
W przypadku prostej strony statycznej Nginx nadal jest dobrym wyborem do kontenera, ponieważ oficjalny obraz może serwować katalog zawierający HTML, CSS, JavaScript i obrazy przy bardzo niewielkiej konfiguracji.
Uruchom stronę we własnym kontenerze
CasaOS to warstwa zarządzania Dockerem i plikami na bazowym hoście z systemem Linux. Strony internetowej nie trzeba więc instalować w samej usłudze zarządzającej CasaOS.
Trzymaj serwer internetowy w osobnym kontenerze, z dedykowanym katalogiem zawartości i wyłącznie z potrzebnymi portami.
Oficjalny obraz Nginx może bezpośrednio serwować zawartość statyczną
Aktualny obraz Nginx dla Dockera obsługuje montowanie lokalnego katalogu strony w trybie tylko do odczytu do:
/usr/share/nginx/html
Ten model idealnie nadaje się do prostej osobistej strony statycznej, ponieważ proces serwera może odczytywać zawartość bez modyfikowania plików źródłowych.
Użyj aktualnego oficjalnego układu kontenera Nginx dla zawartości statycznej, zamiast kopiować stary obraz innej firmy z poradnika z 2021 roku.
Apache również jest poprawnym wyborem, ale to nie on wyznacza granicę bezpieczeństwa
Oryginalne pytanie dotyczyło wyboru między Apache i Nginx. Oba serwery mogą dobrze hostować stronę. Ważniejsze są decyzje dotyczące aktualizowania kontenera, lokalizacji plików strony, konfiguracji TLS oraz wystawionych portów sieciowych.
Zmiana Nginx na Apache nie sprawi, że publicznie dostępny pulpit administracyjny stanie się bezpieczny.
Zachowaj pulpit CasaOS jako prywatny
Osoba odpowiadająca w społeczności wyraźnie ostrzegła przed otwieraniem samego CasaOS w Internecie. Interfejs zarządzania może kontrolować pliki, kontenery i inne funkcje serwera; jego wystawienie tworzy znacznie większą powierzchnię ataku niż udostępnienie wąsko skonfigurowanego kontenera ze stroną internetową.
Zarządzanie prowadź z sieci lokalnej lub za pośrednictwem prywatnej warstwy zdalnego dostępu.
Użyj prywatnej sieci do zarządzania
Użytkownik źródłowy zdecydował się pozostawić CasaOS w domu na potrzeby Jellyfin i używać Tailscale do zdalnego dostępu do Nextcloud. To dobre rozdzielenie funkcji: publiczny ruch strony może trafiać do kontenera serwera internetowego, a usługi administracyjne pozostają dostępne wyłącznie przez prywatną sieć nakładkową.
Jeśli strona musi być publiczna, dodaj TLS i jasno określoną ścieżkę wejścia
Publicznie dostępna strona zwykle wymaga nazwy domeny, certyfikatu HTTPS oraz przekierowania portów na routerze albo architektury z uwierzytelnionym tunelem zwrotnym. Dokładny wybór zależy od tego, czy masz publiczny adres IP i jak rozbudowaną infrastrukturą chcesz zarządzać.
Udostępniaj wyłącznie porty serwera internetowego wymagane przez stronę. Nie przekierowuj niezwiązanych z nią portów CasaOS ani portów zarządzania Dockerem.
Aktualizuj kontener serwera internetowego i cały stos zawartości
Minimalna strona statyczna Nginx ma stosunkowo małą powierzchnię ataku, ale sam kontener nadal wymaga aktualizacji zabezpieczeń. Dynamiczne strony oparte na PHP, WordPressie, Node.js lub bazie danych wprowadzają znacznie więcej elementów i należy je aktualizować jako stos aplikacyjny, a nie traktować jak zwykłe pliki statyczne.
Twórz kopie zapasowe zawartości strony niezależnie od kontenera
Przechowuj pliki strony w trwałym katalogu na hoście lub w repozytorium. Jeśli kontener zostanie odtworzony, stronę powinno dać się odzyskać bez odbudowywania zawartości z nietrwałego systemu plików kontenera.
Najczęstsze pytania dotyczące serwera internetowego CasaOS
Czy CasaOS może hostować stronę internetową?
Tak. Serwer Nginx lub Apache uruchomiony w Dockerze może publikować zawartość strony niezależnie od interfejsu CasaOS.
Czy sam pulpit CasaOS powinien być publicznie dostępny?
Społeczność źródłowa zdecydowanie odradzała takie rozwiązanie. Zarządzanie powinno pozostać prywatne.
Który serwer jest najprostszy dla strony statycznej?
Oficjalny obraz Nginx dla Dockera zapewnia prosty sposób serwowania zawartości statycznej.
