Deci, rulez un container nginx cu docker-compose:
Servicii:
nginx:
construi:
context: .
dockerfile: Dockerfile
reporniți: întotdeauna
container_name: webserver_nginx
Nume gazdă: nginx
stop_grace_period: 1m30s
control medical:
test: ["CMD-SHELL", "curl -sf http://127.0.0.1/ -o /dev/null || ieșire 1"]
interval: 1m30s
timeout: 10s
reîncercări: 3
perioada_început: 40s
porturi:
- 443:443
- 80:80
volume:
# Restricție de servicii cu parolă
- ./.credentials/.htpasswd:/var/.credentials/.htpasswd
# Configurații Nginx
- ./nginx.conf:/etc/nginx/nginx.conf
- ./proxy_params:/etc/nginx/proxy_params
- ./conf:/etc/nginx/conf.d
#Nginx servește fișiere statice
- /var/backups/off:/var/web_data/off
# Înregistrare Nginx
- /var/log/nginx:/var/log/nginx
retele:
- rețea_server web
retele:
rețea_server web:
extern: adevărat
Dockerfile:
DE LA nginx
CMD ["nginx", "-g", "daemon off;"]
meu nginx.conf:
utilizator nginx;
worker_proceses auto;
error_log /var/log/nginx/error.log warn;
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;
keepalive_timeout 65;
includ /etc/nginx/conf.d/*.conf;
}
și configurație pentru containerul meu:
Server {
asculta 80;
asculta [::]:80;
nume_server nume.com;
locație /admin {
proxy_pass http://off:4000;
proxy_set_header Gazdă $gazdă;
proxy_set_header X-Real-IP $adresă_la distanță;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 100;
proxy_http_versiunea 1.1;
}
locație /static {
alias /var/web_data/off/collectstatic;
}
locație / media {
alias /var/web_data/off/upload;
}
Locație / {
întoarce 404;
}
}
deci ori de cate ori incerc sa solicit http://name.com/admin
Primesc acest tip de jurnal de la access.log:
127.0.0.1 - - [16/May/2022:15:53:42 +0000] „GET / HTTP/1.1” 404 153 „-” „curl/7.74.0” „-”
127.0.0.1 - - [16/May/2022:15:55:12 +0000] „GET / HTTP/1.1” 404 153 „-” „curl/7.74.0” „-”
127.0.0.1 - - [16/May/2022:15:56:42 +0000] „GET / HTTP/1.1” 404 153 „-” „curl/7.74.0” „-”
și primesc eroare 502 Gateway de la nginx pe browser
chiar și atunci când încerc să accesez site-ul principal, cum ar fi http://name.com/
Continui să primesc eroare 502
compusul meu container este ca:
versiunea: „3.8”
Servicii:
offch:
construi:
context: .
dockerfile: deploy/beta/Dockerfile
argumente:
WORKING_DIR: /app
container_name: dezactivat
Nume gazdă: django
reporniți: „întotdeauna”
comandă: gunicorn -c deploy/beta/configs/gunicorn/conf.py --chdir api api.wsgi:application
volume:
# Codul sursă al proiectului
- .:/aplicație
# Colectați fișiere statice
- /var/backups/offch/collectstatic:/collectstatic
# fișiere media (încărcări)
- /var/backups/offch/upload:/app/media/upload
- /var/log/upstart:/var/log/upstart
stop_grace_period: 1m30s
control medical:
test: ["CMD", "curl", "-f", "http://127.0.0.1:4000"]
interval: 1m30s
timeout: 10s
reîncercări: 3
perioada_început: 40s
porturi:
- „4000:4000”
retele:
- rețea_server web
retele:
rețea_server web:
extern: adevărat
Btw pot accesa site-ul prin ip și port, am această problemă doar cu nginx.