Tôi đang chạy một ứng dụng tốc hành trên node.js. Ứng dụng sử dụng express-subdomain module để giúp xử lý các tuyến đường cho hai tên miền phụ khác nhau (sub1.example.com và sub2.example.com). Tôi đang lưu trữ ứng dụng trên AWS Elastic Beanstalk. Trong môi trường sản xuất của tôi, mọi thứ đều hoạt động tốt. Nhưng trên máy địa phương của tôi, tôi không thể làm việc này được. Tôi đã thử thêm tên miền phụ vào tệp máy chủ của mình 127.0.0.1 localhost sub1.localhost sub2.localhost
. Mặc dù điều đó cho phép tôi thêm một tên miền phụ vào localhost, nhưng mô-đun không nhận ra đây là một tên miền phụ hợp lệ và tìm kiếm các tuyến đường phụ trong các tuyến gốc của tôi.Cách thiết lập tên miền phụ địa phương cho ứng dụng Node.js
Trong main.js:
var routes = require('./routes/index')(passport);
var sub1_routes = require('./routes/sub1')(passport);
var sub2_routes = require('./routes/sub2')(passport);
app.use(subdomain('sub1', sub1_routes));
app.use(subdomain('sub2', sub1_routes));
app.use('/', routes);
tôi cần để có thể xử lý này tại địa phương. Phải mất nhiều thời gian để đẩy một sự thay đổi nhỏ để kiểm tra AWS, lặp vv
Giải pháp này dường như không hoạt động đối với tôi và các thử nghiệm của bạn dường như chỉ kiểm tra localhost (không có tên miền phụ) và 'example.com'. Tôi đã có thể khắc phục sự cố của mình bằng cách thêm 'subdomain.example.com' vào tệp máy chủ lưu trữ của tôi và sử dụng tệp đó làm url của tôi. – Jordan
Xin lỗi lý do thực tế là vì không có miền cấp cao nhất, ví dụ: .com hoặc .co.uk. Tôi đã cập nhật README để mô tả điều này. – bmullan91