Încerc să configurez un mediu docker-compose în care un container Nginx primește solicitări HTTPS, gestionează SSL și le trimite proxy invers către o aplicație dotnet-core care implementează doar HTTP.
Acest subiect a fost discutat aici de mai multe ori și am încercat să creez o configurație minimă care să servească doar acestui scop ( Similar cu aceasta: NGINX SSL Pass-thru și Docker )
Problema este că Nginx răspunde cu un 404, în ciuda faptului că este configurat să trimită cereri proxy_pass către aplicația dotnet-core, care în prezent răspunde pur și simplu „Hello world” la toate solicitările.
nginx_1 | 2021/06/25 04:07:54 [eroare] 24#24: *1 „/etc/nginx/html/index.html” nu a fost găsit (2: Nu există un astfel de fișier sau director), client: 210.61.91.199, server: tgdev.pillepalle1.de, cerere: „GET / HTTP/1.1”, gazdă: „tgdev.pillepalle1.de”
M-am conectat la container și am extras configurația de acolo
root@70e20feb4fae:/etc/nginx# ls -l
total 32
drwxr-xr-x 1 rădăcină rădăcină 4096 25 iunie 01:49 conf.d
-rw-r--r-- 1 root root 1007 25 mai 12:28 fastcgi_params
-rw-r--r-- 1 rădăcină rădăcină 5290 25 mai 12:28 mime.types
lrwxrwxrwx 1 root root 22 mai 25 13:01 module -> /usr/lib/nginx/modules
-rw-r--r-- 1 rădăcină rădăcină 648 25 mai 13:01 nginx.conf
-rw-r--r-- 1 rădăcină rădăcină 636 25 mai 12:28 scgi_params
-rw-r--r-- 1 rădăcină rădăcină 664 25 mai 12:28 uwsgi_params
root@70e20feb4fae:/etc/nginx# cat nginx.conf
utilizator nginx;
worker_proceses auto;
error_log /var/log/nginx/error.log notificare;
pid /var/run/nginx.pid;
evenimente {
conexiuni_muncitor 1024;
}
http {
includ /etc/nginx/mime.types;
aplicație de tip_default/octet-stream;
log_format principal „$remote_addr - $remote_user [$time_local] „$request” '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log principal;
sendfile activat;
#tcp_nopush on;
keepalive_timeout 65;
#gzip activat;
includ /etc/nginx/conf.d/*.conf;
}
root@70e20feb4fae:/etc/nginx/conf.d# ls
certbot.conf default.conf
root@70e20feb4fae:/etc/nginx/conf.d# cat default.conf
Server {
asculta 80;
asculta [::]:80;
nume_server gazdă locală;
Locație / {
# return 301 https://$host/$request_uri;
proxy_pass http://tgwebapp:80;
}
}
Server {
asculta 443 ssl;
asculta [::]:443 ssl;
nume_server gazdă locală;
ssl_certificate /etc/letsencrypt/live/this/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/this/privkey.pem;
Locație / {
proxy_pass http://tgwebapp:80;
}
}
root@70e20feb4fae:/etc/nginx/conf.d# cat certbot.conf
Server {
asculta 80;
asculta [::]:80;
nume_server gazdă locală;
locație /.cunoscută/ {
proxy_pass http://certbot;
}
}
Nu există nicio intrare pe care nginx ar trebui să facă să fie difuzată /etc/nginx/html/index.html
. Ce îmi lipsește?