Tôi có nginx và php-fpm đang chạy trong một vùng chứa duy nhất trên máy tính để bàn Docker cho Windows.Tôi là CNTT và không phải là nhà phát triển, vì vậy hãy tắt nó đi cho tôi.
Tôi đã cố gắng để cấu hình hoạt động nhưng không thành công. Tôi cần có khả năng cho phép nhiều tên miền phụ chuyển qua php-fpm nơi ứng dụng php sẽ xác định cơ sở dữ liệu nào sẽ mở theo tên miền phụ cụ thể.
Vì thế
clientA.mydomain.com
clientB.mydomain.com
tất cả chỉ nên chuyển qua php và ứng dụng sẽ biết DB nào sẽ kết nối.
Tôi đã tìm kiếm và tìm thấy các giải pháp để chuyển hướng các tên miền phụ đến các trang web riêng biệt, nhưng tôi cần cho phép tất cả các tên miền phụ đến một trang web và xử lý giống như localhost.
Điều này hoạt động tốt khi sử dụng máy chủ cục bộ hoặc 127.0.0.1 nhưng khi tôi cố gắng sử dụng url dns thì trang web sẽ ngừng đăng nhập và tất cả lệnh gọi ajax đều ngừng hoạt động. Có vẻ như các biến phiên ngừng được trả lại.
Trang đăng nhập hiển thị và mật khẩu không thành công sẽ hiển thị lỗi đó để tôi biết trang web đang liên lạc với DB thích hợp nhưng nhật ký không hiển thị bất kỳ lỗi hoặc phản hồi ajax nào.
người phục vụ {
nghe 80 default_server;
tên máy chủ _;
# Tôi đã thử server_name *.mydomain.com và server_name .mydomain.com, cái sau cho kết quả giống như cấu hình hiện tại này.
gốc /usr/share/nginx/html;
server_tokens tắt;
chỉ mục index.php index.html index.htm;
bộ ký tự utf-8;
# Thêm ghi nhật ký thiết bị xuất chuẩn
thông tin error_log /dev/stdout;
truy cập_log /dev/stdout;
địa điểm / {
try_files $uri $uri/ /index.php?$args;
}
vị trí ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
bao gồm fastcgi_params;
}
}
Tôi đã phải loại bỏ rất nhiều để gửi câu hỏi.
Sử dụng máy chủ cục bộ hoặc 127.0.01 với cùng cấu hình này, thông tin đăng nhập hoạt động, ajax đang phản hồi và trang web tải trang chính như mong đợi.
thiết bị xuất chuẩn nginx | 192.168.80.1 - - [08/Sep/2021:13:23:00 +0000] "POST /login.php HTTP/1.1" 302
thiết bị xuất chuẩn nginx | 192.168.80.1 - - [08/Sep/2021:13:23:00 +0000] "NHẬN / HTTP/1.1" 200
thiết bị xuất chuẩn nginx | 192.168.80.1 - - [08/Sep/2021:13:23:00 +0000] "NHẬN /framework.js?version=
thiết bị xuất chuẩn nginx | 192.168.80.1 - - [08/Sep/2021:13:23:00 +0000] "NHẬN /resources/all.css
192.168.80.1 - - [08/Sep/2021:13:23:00 +0000] "NHẬN /resources/js/pdfjs/pdf.js
thiết bị xuất chuẩn nginx | 192.168.80.1 - - [08/Sep/2021:13:23:00 +0000] "NHẬN /app.js?version=2021
thiết bị xuất chuẩn nginx | 192.168.80.1 - - [08/Sep/2021:13:23:00 +0000] "NHẬN /resources/images/login_loader_logo.gif
192.168.80.1 - - [08/Sep/2021:13:23:01 +0000] "NHẬN /ajax.php?_dc=163110738
192.168.80.1 - - [08/Sep/2021:13:23:02 +0000] "POST /ajax.php HTTP/1.1" 200
192.168.80.1 - - [08/Sep/2021:13:23:02 +0000] "NHẬN /ajax.php?_dc=1631107382410&
Khi sử dụng mục nhập url mà tôi đã tạo trong tệp Máy chủ của mình để kiểm tra, có vẻ như js và ajax không hoạt động khi sử dụng URL.
192.168.96.1 - - [08/Sep/2021:13:29:45 +0000] "NHẬN /login.php HTTP/1.1" 200
192.168.96.1 - - [08/Sep/2021:13:29:45 +0000] "NHẬN /showClientLogo.php HTTP/1.1" 200
192.168.96.1 - - [08/Sep/2021:13:29:46 +0000] "NHẬN / HTTP/1.1" 302
192.168.96.1 - - [08/Sep/2021:13:29:46 +0000] "NHẬN /login.php HTTP/1.1" 200
192.168.96.1 - - [08/Sep/2021:13:29:47 +0000] "NHẬN /showClientLogo.php HTTP/1.1" 200
192.168.96.1 - - [08/Sep/2021:13:29:57 +0000] "POST /login.php HTTP/1.1" 302
192.168.96.1 - - [08/Sep/2021:13:29:57 +0000] "NHẬN / HTTP/1.1" 302
192.168.96.1 - - [08/Sep/2021:13:29:57 +0000] "NHẬN /login.php HTTP/1.1" 200
192.168.96.1 - - [08/Sep/2021:13:29:58 +0000] "NHẬN /showClientLogo.php HTTP/1.1" 200
Cảm ơn trước.