У меня есть 2 экземпляра веб-сайта, работающего на одном сервере для сред разработки и промежуточных сред для контейнеров docker. Исходные коды для этих сайтов такие же, но в 2 отдельных папках. / dev и / uat на одном сервере, и к ним можно получить доступ через один домен, но через разные порты, например dev.website.com: 5000 и dev.website.com
У меня нет доступа к DNS и я не могу его изменить, но я попросил указать домен uat.website.com , указывающий на тот же IP-адрес, чтобы я мог удалить этот порт. Возможно ли это с помощью обратного прокси-сервера или потребуется изменение DNS?
ПРОБЛЕМА
dev - dev.website.com:5000
uat - dev .website.com
То, что я хотел бы достичь
dev - dev.website.com
uat - uat.website.com
docker -составить dev.yml
version: '3'
networks:
dev_network:
driver: bridge
services:
web_dev:
image: nginx:stable-alpine
container_name: web_dev
working_dir: /var/www
volumes:
- ./src:/var/www
- ./nginx/default.dev.conf:/etc/nginx/conf.d/default.conf
depends_on:
- app_dev
ports:
- "5000:80"
networks:
- dev_network
app_dev:
image: php:7.2-fpm
container_name: app_dev
working_dir: /var/www
volumes:
- ./src:/var/www
ports:
- "9005:9000"
networks:
- dev_network
docker -создать uat.yml
version: '3'
networks:
uat_network:
driver: bridge
services:
web_uat:
image: nginx:stable-alpine
container_name: web_uat
working_dir: /var/www
volumes:
- ./src:/var/www
- ./nginx/default.uat.conf:/etc/nginx/conf.d/default.conf
depends_on:
- app_uat
ports:
- "80:80"
networks:
- uat_network
app_uat:
image: php:7.2-fpm
container_name: app_uat
working_dir: /var/www
volumes:
- ./src:/var/www
ports:
- "9000:9000"
networks:
- uat_network
nginx conf для dev
server {
listen 80;
index index.php index.html;
server_name localhost;
root /var/www;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass app_dev:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
nginx conf для uat
server {
listen 80;
index index.php index.html;
server_name localhost;
root /var/www;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass app_uat:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}