Przyjmowanie multipart/form-data na opublikowanej aplikacji - usługa w CentOS

0

Witam, razem ze znajomymi robimy projekt dla koła na studiach i musimy go opublikować. Skorzystaliśmy z serwera VPS z systemem CentOS 7 z reverse proxy na Apache. W projekcie w kilku endpointach przyjmujemy zdjęcia przesyłane w form-data i zapisywane w folderze wwwroot, z którymi nie mieliśmy problemu do teraz. Gdy połączę się z serwerem po ssh i włączę aplikację komendą dotnet Targi.API.dll --urls http://*:5000
to cała funkcjonalność na serwerze działa bez błędów dopóki nie przerwę połączenia ssh w PuTTy. Dodawanie zdjęć działa przez zbudowane pliki angulara na serwerze i przez Postmana. Żeby aplikacja żyła dłużej skopiowałem taką usługę dla linuxa:

[Unit]
Description=Example .NET Web API App running on Ubuntu

[Service]
WorkingDirectory=/var/www/vhosts/domena.pl/httpdocs
ExecStart=/usr/bin/dotnet /var/www/vhosts/domena.pl/httpdocs/Targi.API.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-example
User=apache
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]
WantedBy=multi-user.target

Nasza strona działa, nie wyłącza się tylko przy przesyłaniu Form Data od razu jest błąd HTTP/1.1 500 Interval Server Error.
Czyli wszystko działa jak włączę dotnet ręcznie, a przez usługę wszystko oprócz przesyłanie plików binarnych w multipart/form-data

Nie mamy doświadczenia w linuxie, a bardzo nam zależy żeby szybko opublikować stronę, dlatego prosimy o wszelkie podpowiedzi i sugestie co możemy sprawdzić.

4

Witam,

A sprawdź jakie masz prawa dostępu do foldera w którym chcesz coś pisać? Sprawdź w logach dlaczego dostajesz 500?

Pozdrawiam,

mr-owl

0

Rzeczywiście, udało mi się znaleźć logi i miałem błąd "Acces to the path ../wwwroot/Upload is denied".
Tylko komenda:

sudo chgrp apache ../wwwroot/Upload 

mi nie pomogła, natomiast po

sudo chmod 777 ../wwwroot/Upload

wszystko działa.
Przy tych uprawnieniach mógłby ktoś usunąć mi zdjęcia nie korzystając z API i muszę popróbować z userem apache?
Jeżeli może tak zostać to dziękuję Wam za pomoc, cała aplikacja działa na serwerze tak jak chcieliśmy.

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