Maison > Article > développement back-end > Les styles et images fournis par nginx dans Docker ne fonctionnent pas sur la page
L'éditeur PHP Youzi a découvert que lors de l'utilisation de nginx dans Docker, vous pouvez rencontrer le problème selon lequel les styles et les images ne peuvent pas être affichés correctement sur la page. Cela peut être dû à un problème de configuration ou à un mauvais chemin. Avant de résoudre ce problème, nous devons vérifier soigneusement le fichier de configuration nginx et le chemin du fichier pour nous assurer qu'ils sont correctement configurés et référencés. Nous explorerons ensuite quelques solutions courantes pour vous aider à résoudre ce problème ennuyeux.
J'ai une application Web Golang et j'ai décidé d'utiliser Nginx devant elle pour servir des fichiers statiques et l'utiliser comme proxy inverse pour mon application Web.
Dockerfile pour application web :
FROM golang:1.21.1 WORKDIR /app COPY go.mod go.sum ./ RUN go mod download && go mod verify COPY . ./ RUN go build -o ./bin/site ./cmd/site/main.go CMD ["./bin/site"]
Docker compose des fichiers :
version: '3' services: nginx: image: nginx:1.25.2 restart: always ports: - "80:80" volumes: - "./nginx.conf:/etc/nginx/nginx.conf:ro" - "./site/assets/:/app/assets/" site: build: ./site container_name: tmp-site restart: always volumes: - "./site/views:/app/views"
et configuration nginx :
events { worker_connections 1024; } http { server { listen 80; server_name tmp.loc www.tmp.loc; location ~* \.(jpg|jpeg|png|gif|ico|css|js|html|svg)$ { root /app/assets/; expires max; access_log off; } location / { proxy_pass http://tmp-site:5555; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } }
Sur la page Web, j'ai deux images, une en png et une en svg, le fichier css est très simple et ne contient que background-color: lightblue
comme balise body, et le fichier js, qui enregistre simplement la chaîne "Chargé!". Après avoir démarré le conteneur à l'aide de docker compose, j'ai rencontré le problème suivant :
Code complet ici - https://github.com/ivnku/tmp
Engine.Reload(true)
: <code>// Reload the templates on each render, good for development engine.Reload(true) // Optional. Default: false </code>
http
de nginx.conf résoudra ce problème : http { include /etc/nginx/mime.types; server { ... } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!