Instaluję proxy nginx ssl na moim serwerze Fedora.
Utworzyłem parę certyfikatów i kluczy w / etc / nginx. Wyglądają tak:
ls -l /etc/nginx/
total 84
...
-rw-r--r--. 1 root root 1346 Sep 20 12:11 demo.crt
-rw-r--r--. 1 root root 1679 Sep 20 12:11 demo.key
...
Jako root próbuję uruchomić usługę nginx:
systemctl start nginx.service
Otrzymuję następujący błąd:
nginx[30854]: nginx: [emerg]
SSL_CTX_use_certificate_chain_file("/etc/nginx/demo.crt") failed (SSL: error:0200100D:system library:fopen:Permission denied...e:system lib)
nginx[30854]: nginx: configuration file /etc/nginx/nginx.conf test failed
Czy coś jest nie tak z uprawnieniami do tych plików?
nginx
ssl
ssl-certificate
numb3rs1x
źródło
źródło
Odpowiedzi:
Prawdopodobnie masz SELinuksa w trybie wymuszania (domyślny dla Fedory):
W takim przypadku sprawdź dzienniki kontroli, powinieneś znaleźć błąd dostępu:
Prawdopodobnie przeniesiłeś również plik zamiast go skopiować, więc kontekst bezpieczeństwa pliku może być nieprawidłowy.
i w razie potrzeby popraw:
źródło
cp
zamiastmv
i naucz się używaćaudit
systemu do wyszukiwania odmów AVC.Myślę, że to SELinux odmawia zgody. Sprawdź ich kontekst SELinux. Ich powinny być httpd_config_t. Jeśli nie, uruchom
lub
jako root.
Możesz sprawdzić logi w / var / log / audit /, aby sprawdzić, czy to SELinux nie odmawia pozwolenia. Możesz także biegać
ustawić SELinux w tryb zezwolenia . W ten sposób SELinux nadal generuje komunikaty AVC (w / var / log / audit /), ale zezwala na dostęp.
źródło