Chúng tôi dự định nâng cấp ứng dụng web của mình từ ứng dụng dựa trên gốc php lên dựa trên PHP Framework (Laravel) để tăng cường bảo mật và hiệu suất của ứng dụng. Nhiệm vụ của tôi là phân chia lưu lượng khi mọi yêu cầu trỏ đến miền ứng dụng.localhost
không có hậu tố /v3
vẫn được chuyển tiếp đến ứng dụng cũ trên gốc php
nút máy chủ web và ủy quyền tất cả yêu cầu với /v3
đường dẫn đến ấu trùng
nút máy chủ web. Dưới đây là cấu hình của tôi dẫn đến tất cả nội dung (css và js) và URL được tạo bởi Laravel được trỏ đến đường dẫn gốc.
Laravel tạo URL trỏ đến ứng dụng cũ
Proxy phía trước (Mạng công cộng)
người phục vụ {
nghe 80;
nghe [::]:80;
server_name app.localhost;
# Ứng dụng bản địa PHP
địa điểm / {
proxy_set_header Máy chủ lưu trữ $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://php-native/;
}
# Laravel (ỨNG DỤNG v3)
vị trí /v3/ {
proxy_set_header Máy chủ lưu trữ $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://laravel/;
}
}
Máy chủ web (Mạng riêng)
gốc php
Máy chủ web
người phục vụ {
nghe 80;
nghe [::]:80;
server_name app.localhost;
gốc /usr/share/nginx/html/webapp/ứng dụng;
địa điểm / {
chỉ mục index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
}
vị trí ~ \.php$ {
fastcgi_pass php56-fpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/webapp/app/$fastcgi_script_name;
bao gồm fastcgi_params;
}
}
ấu trùng
Máy chủ web
người phục vụ {
nghe 80;
server_name app.localhost;
gốc /usr/share/nginx/html/webapp/app-v3/public;
chỉ mục index.php index.html index.htm;
địa điểm / {
chỉ mục index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
}
vị trí ~ \.php$ {
fastcgi_pass php74-fpm:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/webapp/app-v3/public/$fastcgi_script_name;
bao gồm fastcgi_params;
}
}
Cảm ơn
Cập nhật
Câu hỏi của tôi là: làm thế nào để phân chia lưu lượng truy cập, để mọi yêu cầu được chỉ đến ứng dụng.localhost
vẫn chuyển tiếp đến gốc php
máy chủ web và tất cả các yêu cầu trỏ đến app.localhost/v3
chỉ vào ấu trùng
máy chủ web ?