Web-ul nu este domeniul meu, dar m-am gândit că mă pot descurca.
Scopul este destul de simplu:
Am 3 servicii pe care vreau să le servesc de la aceeași mașină virtuală în aceeași rețea.
elastic:8881 > ssl > :8881
kibana:5601 > ssl > :8882
server web:80 > ssl < :443
Am reușit să servesc elastic și kibana fără probleme urmând documentația cu această configurație pe nginx :
/etc/nginx/conf.d/servestuff.conf
ssl_certificate /etc/ssl/certs/nginx-autosigne.crt;
ssl_certificate_key /etc/ssl/private/nginx-autosigne.key;
în amonte elasticsearch {
server 127.0.0.1:9200;
keepalive 15;
}
kibana în amonte {
server 127.0.0.1:5601;
keepalive 15;
}
Server {
asculta 8881 ssl;
Locație / {
auth_basic „Acces restricționat”;
auth_basic_user_file /etc/nginx/htpasswd.users;
proxy_pass http://elasticsearch;
proxy_redirect dezactivat;
proxy_buffering dezactivat;
proxy_http_versiunea 1.1;
proxy_set_header Conexiune „Keep-Alive”;
proxy_set_header Conexiune proxy „Păstrați-vă în viață”;
}
}
Server {
asculta 8882 ssl;
Locație / {
auth_basic „Acces restricționat”;
auth_basic_user_file /etc/nginx/htpasswd.users;
proxy_pass http://kibana;
proxy_redirect dezactivat;
proxy_buffering dezactivat;
proxy_http_versiunea 1.1;
proxy_set_header Conexiune „Keep-Alive”;
proxy_set_header Conexiune proxy „Păstrați-vă în viață”;
}
}
Pe măsură ce mă simt leneș, naiv și lipsit de anumite abilități, m-am gândit că aș putea servi web-ul cu acest bloc:
în amonte thewebthing {
server 127.0.0.1:443;
keepalive 15;
}
Server {
asculta 443 ssl;
nume_server thewebthing;
large_client_header_buffers 4 16k;
Locație / {
error_log /var/log/nginx/thewebthing.log informații;
root /var/www/thewebthing/public;
index index.html index.htm index.php;
proxy_pass http://thewebthing;
proxy_redirect dezactivat;
proxy_buffering dezactivat;
proxy_http_versiunea 1.1;
proxy_set_header Conexiune „Keep-Alive”;
proxy_set_header Conexiune proxy „Păstrați-vă în viață”;
}
}
Știam că nu poate fi atât de ușor. Am încercat să depanez toate jurnalele de citire dându-mi:
==> /var/log/nginx/access.log <==
127.0.0.1 - - [25/Mar/2022:16:45:29 +0100] „GET /var/www/thewebthing/public/index.php HTTP/1.1” 400 271 „-” „curl/7.64.0”
192.168.2.249 - - [25/Mar/2022:16:45:29 +0100] „GET /var/www/thewebthing/public/index.php HTTP/1.1” 400 271 „-” „curl/7.64.0”
==> /var/log/nginx/thewebthing.log <==
2022/03/25 16:45:29 [info] 863#863: *4531 client 192.168.2.249 conexiune keepalive închisă
curl dându-mi asta:
curl -k https://192.168.2.249/var/www/thewebthing/public/index.php
<html>
<head><title>400 Solicitarea HTTP simplă a fost trimisă la portul HTTPS</title></head>
<body bgcolor="alb">
<center><h1>400 de solicitare greșită</h1></center>
<center>Solicitarea HTTP simplă a fost trimisă la portul HTTPS</center>
<hr><center>nginx/1.14.2</center>
</corp>
</html>
Cred că are ceva de-a face cu nginx, având în vedere că dau cerere http către https.
443 este deschis, dar nu 80:
ss -lapunte | grep -E '443|80'
tcp LISTEN 0 128 0.0.0.0:443 0.0.0.0:* ino:66759 sk:1d <->
Nu am firewall, nici apparmor sau Selinux, permisiunile sunt www-data am încercat să măresc înregistrarea în jurnal.
După cum puteți observa, nu mă simt confortabil cu chestia web. De aceea, caut câteva indicii, indicii care să mă conducă pe drumul cel bun.
Mulțumesc străin bun.