Încerc să instalez yotter pe serverul meu și vreau să folosesc apache în loc de nginx. The ghid de instalare listează doar un fișier de configurare nginx, pe care încerc să îl „traduc”.
Configurația este a trei rute proxy diferite, prima care duce la un container docker, a doua (/static/) într-un director cu foi de stil și chestii de genul acesta și ultimul într-un socket de domeniu Unix.
În cazul meu, prima rută pare să funcționeze (pot accesa site-ul), dar fiecare cerere către o resursă statică returnează un 404. Se pare că fiecare cerere folosește directiva docker ProxyPass (indiferent de ordine: dacă o pun pe aceea ultimul (vezi mai jos), este totusi singurul folosit).
Aceasta este (o parte din) fișierul jurnal creat:
yotter.domain.tld - - [12/Aug/2021:21:14:21 +0200] „GET /static/favicons/favicon.ico HTTP/1.1” 404 1935 file=proxy:http://127.0.0.1: 5000/static/favicons/favicon.ico
yotter.domain.tld - - [12/Aug/2021:21:15:54 +0200] „GET /index HTTP/1.1” 200 1126 file=proxy:http://127.0.0.1:5000/index
yotter.domain.tld - - [12/Aug/2021:21:15:54 +0200] „GET /static/semantic/semantic.min.css HTTP/1.1” 404 1935 file=proxy:http://127.0. 0.1:5000/static/semantic/semantic.min.css
Care ar putea fi motivul pentru asta?
Aceasta este configurația nginx:
Server {
asculta 80;
nume_server <example.com>; # Schimba-ma
access_log off;
Locație / {
proxy_pass http://127.0.0.1:5000;
proxy_http_versiunea 1.1;
proxy_set_header Conexiune „”;
}
locație /static/ {
root /home/ubuntu/Yotter/app/; # Schimbați acest lucru în funcție de locul în care clonați Yotter
sendfile activat;
fire aio=implicit;
}
locație ~ (^/redare video$|/redare video/|/vi/|/a/) {
proxy_pass http://unix:/var/run/ytproxy/http-proxy.sock;
add_header Acces-Control-Permite-Origine *;
sendfile activat;
tcp_nopush activat;
aio_write on;
fire aio=implicit;
directio 512;
proxy_http_versiunea 1.1;
proxy_set_header Conexiune „”;
}
}
Și iată ce am până acum:
<VirtualHost *:443>
ServerName yotter.domain.tld
LogFormat "%v %l %u %t \"%r\" %>s %b file=%f" commonvhost
CustomLog ${APACHE_LOG_DIR}/yotter_access.log commonvhost
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/domain.tld/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.tld/privkey.pem
<Location "/">
ProxyPass http://127.0.0.1:5000/
ProxyPassReverse http://127.0.0.1:5000/
</Location>
<Location "/static">
Alias "/var/www/Yotter/app/static"
</Location>
<Directory "/var/www/Yotter/app/">
Require all granted
</Directory>
<LocationMatch (^/videoplayback$|/videoplayback/|/vi/|/a/)>
ProxyPass unix:///var/run/ytproxy/http-proxy.sock
ProxyPassReverse unix:///var/run/ytproxy/http-proxy.sock
Header add Acces-Control-Allow-Origin: *
</LocationMatch>
</VirtualHost>
sau
<VirtualHost *:443>
ServerName yotter.domain.tld
LogFormat "%v %l %u %t \"%r\" %>s %b file=%f" commonvhost
CustomLog ${APACHE_LOG_DIR}/yotter_access.log commonvhost
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/domain.tld/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.tld/privkey.pem
Alias "/static" "/var/www/Yotter/app/static"
<Directory "/var/www/Yotter/app/">
Require all granted
</Directory>
<LocationMatch (^/videoplayback$|/videoplayback/|/vi/|/a/)>
ProxyPass unix:///var/run/ytproxy/http-proxy.sock
ProxyPassReverse unix:///var/run/ytproxy/http-proxy.sock
Header add Acces-Control-Allow-Origin: *
</LocationMatch>
ProxyPass / http://127.0.0.1:5000/
ProxyPassReverse / http://127.0.0.1:5000/
</VirtualHost>