Tôi có một máy chủ được cấu hình để lưu trữ nhiều ứng dụng nhanh hơn node.js + trên nhiều tên miền thông qua giao diện Ngnix. Tất cả mọi thứ hoạt động tốt, trừ khi các cuộc gọi để chuyển hướng được làm từ một tuyến đường cao tốc:Tại sao nút proxy ngược lại của proxy Nginx của tôi chuyển sang 0.0.0.0?
res.redirect('/admin');
Sau đó trình duyệt khách hàng được chuyển hướng đến http://0.0.0.0:8090
Nó có vẻ như nó phải là một vấn đề với các tiêu đề chuyển hướng sắp ra của express, nhưng chỉ trong trường hợp nó có liên quan, đây là tệp nginx.conf cho tên miền được đề cập:
server {
listen 0.0.0.0:80;
server_name *.example.com;
access_log /var/log/nginx_example_access.log;
error_log /var/log/nginx_example_error.log debug;
# proxy to node
location/{
proxy_pass http://0.0.0.0:8090/;
proxy_redirect off;
proxy_set_header Host $proxy_host;
proxy_max_temp_file_size 0;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
Trong các phiên bản mới nhất của Nginx, bạn nên sử dụng '$ http_host' thay vì' $ host'. –
@LouisChatriot Cảm ơn bạn đã lưu ý! Tôi đã cập nhật câu trả lời để bao gồm nhiều phiên bản hiện tại hơn. –