Wpis z mikrobloga

Mirko z #komputery #webdev.
Mam krótkie pytanie odnośnie #nginx . Disclaimer: nie jestem webdevem tylko mam zainstalowany nextcloud jako plugin w TrueNAS
Jak na prawdę wymusić mu przekierowanie z HTTP na HTTPS?

Poradniki na jakie napotkałem mówią o dopisaniu odpowiedzi 301. I tu są dwie wersje (w tym przypadku):
W jego pliku konfiguracyjnym nginx.conf lub w podkatalogu dla witryny ( w tym przypadku ./conf.d/nextcloud.conf ).

Gdzie bym nie wpisał poprawnej konfiguracji i zrestartował nginx (maksymalnie z warningami o porzuconych dyrektywach), to przeglądarki WWW nadal potrafią wyświetlić stronę po HTTP.

nginx w pluginie jest w wersji 1.18.0
  • 17
@breja: https://pastebin.com/u83yUbU6
Stan na teraz.
Przy starcie są takie warny:

nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in /usr/local/etc/nginx/conf.d/nextcloud.conf:15
nginx: [warn] conflicting server name "foo.bar.com" on 0.0.0.0:80, ignored

Więc dotyczy linijki 15tej i podczepienia domeny.

Plik po przejściu przez moje wygibasy. Próbowałem, ale za mało wiem.
jak nie masz innych stron to zmien pierwszy konfig server na:
server {
listen 80 defaultserver;
listen [::]:80 default
server;
servername ;
return 301 https://$host$request_uri;
}
i wszystkie strony bedzie kierowalo na https
@breja: Jest tylko nextcloud. To plugin(technicznie jails) w TrueNAS, więc ngixa dedykuję nextcloudowi (to jego piaskownica).

W tym miejscu zamieniłem swój adres na foo.bar.com. Ogólnie w tej chwili nginx gada po HTTP i HTTPS na portach 80 i 443.
Zrypało się po aktualizacji pluginu bez zaznaczenia aktualizacji jailsa.
Zaobserwowałem że aktualizacja zmieniła mi nginx.conf, bo nextcloud.conf przeżył aktualizacje (zachowane odniesienia do certyfikatów).
jak nie masz innych stron to zmien pierwszy konfig server na:

server {

listen 80 defaultserver;

listen [::]:80 defaultserver;

servername ;

return 301 https://$host$request_uri;

}


@breja: Uwierz mi że ma takie wpisy w nginx.conf w "klamrze" http.
Ale sprawdzę tą zmianę na nextcloudzie.
"nginx: [warn] conflicting server name "foo.bar.com""
oznacza że masz podwójną konfiguracje dla tej samej domeny i tego samego portu, wiec hdzies jeszcze masz zdublowany konfig (może plik tymczasowy edytora?) obejrzyj dokładnie foldery /sites-enabled i conf.d/
@breja: Właśnie mnie naświetliłeś mój debilizm.
Zanim robiłem wygibasy z konfiguracją nextclouda, to zrobiłem kopię konfiga w tym samym katalogu z tym samym rozszeżeniem ()
To już poprawiłem więc stary konfig mi nie bruździ. Pracuję nad problemem który wygenerowała ta zmiana, ale sobie porównam pliki i zobaczę czym się różnią bo błąd mam w dalszej części.
@breja: Dzięki wielkie za naprowadzenie na moje błędy.
Ogólnie to błąd miałem z odpaleniem serwera, bo w docelowym konfigu zakomentowałem:

#upstream php-handler {
# server unix:/var/run/nextcloud-php-fpm.sock;
#}

Co psuło się w linijce: fastcgi_pass php-handler;
Natomiast przekierowanie w pliku nextclouda zwraca błąd przeglądarki **ERRTOOMANY_REDIRECTS** (w chromium).
Zrobienie redirecta w głównym konfigu nginxa rozwiązuje ten problem.

Jeszcze raz wielkie dzięki za sugestię ()

Widać