Tôi có ví dụ.com
và các trường hợp sử dụng sau:
- chỉ SSL
- www.sẽ được chuyển hướng đến example.com (không có www.)
- example.com sẽ đảo ngược proxy thành :3000
- fix1.example.com sẽ đảo ngược proxy thành :3001
- fix2.example.com sẽ đảo ngược proxy thành :3002
- ...
- *.example.com sẽ đảo ngược proxy thành :4000
- *.example.com/admin sẽ đảo ngược proxy thành :5000
- example.com/admin, fix1.example.com, fix2.example.com,... sẽ không có /admin và không được đảo ngược proxy thành :5000
Trong cấu hình hiện tại của tôi, tôi có các tệp sau trong trang web có sẵn/trang web được kích hoạt:
- ví dụ.com
- fix1.example.com
- fix2.example.com
- ...
- hoang dã.example.com
Mỗi tệp cấu hình phần riêng của mình vì không có tệp nào khác. Nhưng tôi kết thúc với các cấu hình trùng lặp hoặc xung đột, vì vậy tôi nghĩ rằng phải có một cách tiếp cận tốt hơn trong một tệp để xử lý toàn bộ miền với tất cả các trường hợp sử dụng.
Chỉ SSL và không có phần www là dễ dàng:
người phục vụ {
nếu ($host = www.example.com) {
trả lại 301 https://$host$request_uri;
}
server_name www.example.com;
trả lại 301 $scheme://example.com$request_uri;
}
người phục vụ {
nếu ($host = example.com) {
trả lại 301 https://$host$request_uri;
}
nghe 80;
server_name example.com;
trả về 301 http://$server_name$request_uri;
}
Nhưng làm cách nào để thiết lập tên miền phụ cố định và tên miền phụ thẻ đại diện cùng với đường dẫn/quản trị viên?
Đây là khối tôi sử dụng cho ví dụ.com Ủy quyền:
người phục vụ {
nghe 443 ssl http2;
server_name example.com;
địa điểm / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Nâng cấp $http_upgrade;
'nâng cấp' kết nối proxy_set_header;
proxy_set_header Máy chủ lưu trữ $host;
proxy_cache_bypass $http_upgrade;
}
ssl_certificat #...
ssl_certificat_key #...
}