Hostowanie aplikacji .net core + angular na linux

0

Mam aplikacje w net.core oraz w angular. Teraz chciałbym to hostować na linux najlepiej jeszcze z własną domeną. Tylko nie mam pojęcia jak to robić. Szukałem informacji w internecie ale nie znalazłem konkretnych odpowiedzi na moje pytania. Czy da się to zrobić w jednej aplikacji uruchomieniowej (angular + .net core) czy jednak muszę stawiać dwie osobne aplikacje czyli net.core osobno i angular osobno. Sprawdzałem że aplikację net.core mogę postawić z pomocą ngnix, muszę jeszcze dokładnie doczytać jak to zrobić aby była ona dostępna dla mojej aplikacji angularowej. Chciałbym aby moja strona widoczna w internecie miała domenę np www.mypage.com. Jak ją mogę połączyć z aplikacją (najlepiej tą jedną .net core + angular ewentualnie chyba domenę będę podpinał pod aplikację angular). Czy ktoś mógłby mnie poprowadzić w tym procesie ? Przesłać jakieś instrukcję lub ewentualnie odezwać się na PW.

3

Aplikacja w .NET i Angular to dwie osobne aplikacje i musisz im zapewnić dwa adresy, albo przynajmniej różne porty. NGNIX to dobry trop.
Chociaż chyba jest możliwość, żeby .NET Core serwował też statyczne pliki i wtedy ten Angular będzie przez niego szedł, ale sam się tak nie bawiłem, bo trochę to dla mnie upośledza SPA kiedy uruchomienie frontendu zależy od aplikacji backendowej..
Ogólnie to zwykle wygląda tak, że jeśli ma to działać na jednym serwerze to uruchamia się obie aplikacje na dwóch portach, np. :5000 i :6000 i teraz adres docelowy, czyli mypage.com mapuje się do tego localhost:5000, a API w .NET Corze np. na adresie api.mypage.com, albo mypage.com/api, które jest mapowane do localhost:6000. Wtedy w Angularze wysyłając zapytania do API wysyłasz je na adres api.mypage.com.
Jeszcze zależy gdzie to chcesz uruchamiać, bo zazwyczaj dostawcy hostingu już mają trochę ogarnięte takie rzeczy i sporo można wyklikać w interfejsie.

1

Można chyba też użyć Docker'a. Najszybciej będzie pewnie.

0

Mam aplikacje w net.core oraz w angular. Teraz chciałbym to hostować na linux najlepiej jeszcze z własną domeną. Tylko nie mam pojęcia jak to robić.

W staromodnym podejściu kupujesz przykładowo server VPS, kupujesz domene, na domenie na rekordzie typu A (przekierowanie) ustawiasz IP servera (i czekasz na propagacje DNS - od kilku h do kilku dni), na serwer łączysz się przez SSH i np. klonujesz repo lub przerzucasz jakimś programikiem typu WINSCP skompilowane binarki, następnie stawiasz aplikacje + potencjalnie server HTTP np. iis/nginx/apache/yarp/many_other i go konfigurujesz

Dodatkowo takie rzeczy jak CORS (w aplikacji) oraz HTTPS

Zerknij tu:

Konfiguracja Nginxa/Apacha oraz podpięcie appki jako usługa w systemie
Host ASP.NET Core on Linux with Nginx
Host ASP.NET Core on Linux with Apache

Darmowy HTTPS
Update: Using Free Let’s Encrypt SSL/TLS Certificates with NGINX

oraz jakieś tam podstawowe zabezpieczenia dot. SSH

Top 20 OpenSSH Server Best Security Practices

Czy da się to zrobić w jednej aplikacji uruchomieniowej (angular + .net core) czy jednak muszę stawiać dwie osobne aplikacje czyli net.core osobno i angular osobno.

Kiedyś widziałem były templatki projektów typu dotnet new vue / dotnet new angular które robiły 2 w 1.


We "współczesnym" podejściu pewnie dałoby się wyklikać wdrożenie na Azura z poziomu Visual Studio

Publish a Web app to Azure App Service using Visual Studio

1 użytkowników online, w tym zalogowanych: 0, gości: 1