我在一臺服務器中有容器:
web-zamrud、api-zamrud 和 db-zamrud,它們都使用名為 zamrud-network 的 docker 橋
web-berlian、api-berlian 和 db-berlian,它們都使用名為 berlian-network 的 docker bridge
用于服務 web-zamrud 和 web-berlian 的 nginx 容器。
下面是 zamrud 容器 docker-compose
services:
api-zamrud:
image: registry.gitlab.com/zamrud/zamrudapi
container_name: api-zamrud
networks:
- zamrud-network
web-zamrud:
image: registry.gitlab.com/zamrud/zamrudweb
container_name: web-zamrud
networks:
- zamrud-network
networks:
zamrud-network:
external: true
下面是 berlian 容器 docker-compose
services:
api-berlian:
image: registry.gitlab.com/berlian/berlianapi
container_name: api-berlian
networks:
- berlian-network
web-berlian:
image: registry.gitlab.com/berlian/berlianweb
container_name: web-berlian
networks:
- berlian-network
networks:
berlian-network:
external: true
下面是bitnami nginx docker compose檔案
services:
nginx:
image: docker.io/bitnami/nginx:1.21
container_name: nginx
volumes:
- ./conf/zamrud.conf:/opt/bitnami/nginx/conf/server_blocks/zamrud.conf:ro
- ./conf/berlian.conf:/opt/bitnami/nginx/conf/server_blocks/berlian.conf:ro
networks:
- zamrud-network
- berlian-network
ports:
- "80:80"
下面是zamrud.conf
server {
listen 80;
listen [::]:80;
server_name zamrud.com www.zamrud.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://web-zamrud;
proxy_redirect off;
}
location /api {
rewrite /api/(.*) /$1 break;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://api-zamrud:5000;
proxy_redirect off;
}
}
下面是berlian.conf
server {
listen 80;
listen [::]:80;
server_name berlian.com www.berlian.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://web-berlian;
proxy_redirect off;
}
location /api {
rewrite /api/(.*) /$1 break;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://api-berlian:5000;
proxy_redirect off;
}
}
如果我嘗試訪問www.zamrud.com,網站的內容會正確顯示。
但如果我嘗試訪問www.berlian.com,它會顯示www.zamrud.com的內容。
我在 nginx 中缺少配置嗎?
uj5u.com熱心網友回復:
如果有人遇到同樣的問題,我所做的是讓 bitnami nginx 容器關閉
docker-compose down
然后再次啟動 bitnami nginx 容器
docker-compose up -d
筆記:
bitnami nginx docker-compose 的檔案名是 docker-compose.yaml
我在與 docker-compose.yaml 相同的檔案夾中上下運行 docker
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/443164.html
下一篇:由于url,XML無法呈現
