Tôi đã xóa tất cả các tệp khỏi /etc/nginx/site-enabled/ danh mục.
Tôi cũng đã xóa tất cả các tệp khỏi /etc/nginx/sites-available/ danh mục.
Tôi chỉ có một tập tin trong /etc/nginx/conf.d/ gọi điện my-domain-name.com.conf và nó chứa:
người phục vụ {
nghe 80;
server_name my-domain-name.com www.my-domain-name.com;
trả về 301 https://$server_name$request_uri;
}
người phục vụ {
nghe 443 ssl;
server_name my-domain-name.com www.my-domain-name.com;
ssl_certificate /etc/letsencrypt/live/my-domain-name.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my-domain-name.com/privkey.pem;
bao gồm /etc/letsencrypt/options-ssl-nginx.conf;
địa điểm / {
proxy_pass http://localhost:4000;
}
}
Tôi ủy quyền lưu lượng truy cập đến bộ chứa docker nghe trên cổng 4000.
Nó hoạt động tuyệt vời cho my-domain-name.com và www.my-domain-name.com.
Tuy nhiên, nó cũng chuyển hướng TẤT CẢ CÁC trong số các tên miền phụ của tôi đã được xác định trong DNS.
Đây không phải là hành vi dự định. Tôi chỉ muốn tệp này phục vụ hai miền này, không nhiều hơn.
Có gì sai ở đây?
Cập nhật:
Tôi đã thêm một tệp khác, được gọi là sudomain.my-domain-name.com.conf và tôi đã thêm cấu hình này bên trong nó:
người phục vụ {
nghe 80;
server_name subdomain.my-domain-name.com;
trả về 301 https://$server_name$request_uri;
}
người phục vụ {
nghe 443 ssl;
server_name subdomain.my-domain-name.com;
ssl_certificate /etc/letsencrypt/live/my-domain-name.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my-domain-name.com/privkey.pem;
bao gồm /etc/letsencrypt/options-ssl-nginx.conf;
địa điểm / {
proxy_pass http://localhost:3131;
}
}
Và nginx -t cho thấy sự thành công và nginx -s tải lại cũng được áp dụng. Nhưng một lần nữa khi tôi đi đến tên miền phụ.my-domain-name.com, thay vì tải docker thứ hai đang chạy trên cổng 3131, tôi lại được chuyển hướng đến my-domain-name.com trang.