Điểm:0

Làm cách nào để làm cho máy chủ Nginx được ủy quyền ngược của tôi truy cập các tệp được định tuyến khác trong ứng dụng cấp tốc chạy trên cổng 3000?

lá cờ it

Hiện tại tôi có một ứng dụng cấp tốc bên trong/usr/share/nginx/myexpress

Ứng dụng cấp tốc đang lắng nghe và hoạt động hoàn hảo trên cổng 3000. Máy chủ NGINX của tôi đang ủy quyền ngược cho nó và tôi có thể xem trang cấp tốc mặc định bằng cách truy cập kodix.com.br.

Vấn đề là, tôi không thể truy cập kodix.com.br/hello chẳng hạn sau khi định tuyến nó. Tôi chỉ có thể truy cập nó bằng cách đi qua địa chỉ ip. (Giống ví dụ này nhưng với các số khác: 143.94.233.176:3000/hello)

Đây là hiện tại của tôi trang web có sẵn cấu hình nginx:

ngược dòng node_app{
máy chủ 127.0.0.1:3000;
}

người phục vụ {

    gốc/usr/share/nginx/myexpress;

    # Thêm index.php vào danh sách nếu bạn đang sử dụng PHP
    chỉ mục index.html index.htm index.nginx-debian.html;

    server_name kodix.com.br www.kodix.com.br;

    địa điểm / {
        # Lần đầu tiên cố gắng phục vụ yêu cầu dưới dạng tệp, sau đó
        # làm thư mục, sau đó quay lại hiển thị lỗi 404.
        try_files $uri $uri/ =404;
        proxy_pass http://node_app;
        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;
    }

}

Làm cách nào để tôi có thể truy cập các trang cấp tốc khác bằng máy chủ nginx của mình?

djdomi avatar
lá cờ za
vui lòng sửa câu hỏi của bạn, không rõ bạn muốn làm gì
Gerard H. Pille avatar
lá cờ in
Nếu tôi nhớ không lầm, một vị trí kết thúc bằng /, nên proxy_pass đến một vị trí kết thúc bằng /, như trong "proxy_pass http: //node_app/;" (bỏ chỗ trống xung quanh :).
Gabriel avatar
lá cờ it
@djdomi Tôi muốn truy cập các trang cấp tốc được định tuyến khác, ví dụ: truy cập kodix.com.br/hello sẽ đưa tôi đến trang xem được định tuyến mà tôi đã thiết lập bên trong thư mục lượt xem từ express.
Gabriel avatar
lá cờ it
@ GerardH.Pille Làm điều này chỉ khiến sudo nginx -t trả về có lỗi.
Gerard H. Pille avatar
lá cờ in
"Tôi không thể đi": điều gì xảy ra nếu bạn cố gắng?
Điểm:0
lá cờ it

Tôi không chắc liệu đây có phải là cách làm đúng hay không, nhưng tôi đã cố gắng làm cho nó hoạt động bằng cách thêm một khối vị trí vào khối máy chủ:

địa điểm /xin chào/ {
    proxy_pass http://localhost:3000/xin chào;
}

Sau đó, việc truy cập myserver.com.br/hello sẽ chuyển hướng tôi đến đúng trang.

djdomi avatar
lá cờ za
nhưng vì lý do gì bạn có root /usr/share/nginx/myexpress; trong trường hợp bạn sử dụng reverse_proxy?
Điểm:0
lá cờ cz

Giải pháp bình thường cho việc này là sử dụng một vị trí được đặt tên. Trong thiết lập này, nginx sẽ phục vụ nội dung tĩnh trước. Nếu không có nội dung tĩnh nào tồn tại cho đường dẫn URL, thì thay vì trả về lỗi 404, nội dung đó sẽ được chuyển đến vị trí đã đặt tên, vị trí này sẽ gửi nội dung đó đến ứng dụng của bạn.

Đó là một bổ sung rất đơn giản:

    địa điểm / {
        try_files $uri $uri/ @express;
    }

    địa điểm @express {
        proxy_pass http://node_app;
        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;
    }

Tái bút Không nên lưu trữ các tệp web của bạn trong /usr/chia sẻ/nginx. Thư mục này thuộc sở hữu của trình quản lý gói và nó có quyền xóa mọi thứ trong đó bất cứ khi nào gói nginx được cập nhật hoặc xóa. (Rất có thể sẽ không thành công, nhưng đây là một rủi ro mà tôi sẽ không chấp nhận.)

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.