Điểm:0

Proxy ngược Nginx truy cập trang web của tôi nhưng không thể tải ảnh

lá cờ cn

Tôi đã vật lộn trong 3 ngày với proxy ngược Nginx để nhận ra rằng tôi nghĩ, một điều dễ dàng. Tôi chỉ cần truy cập nhiều ứng dụng nút đỏ (nodeJS) phụ trợ từ Nginx nhưng luôn luôn, với các cổng khác nhau.

Đối với phần tiếp theo, đây là ví dụ của tôi:

Máy khách web -> `https://ip_adr/1881/ui/` -> Nginx proxy_pass `http://127.0.0.1:1881/ui/` (ứng dụng)

Ứng dụng phụ trợ phục vụ hình ảnh trên http://127.0.0.1:1881/*.jpg


  1. Tôi nhận ra một bài kiểm tra tĩnh với:
địa điểm / {
        #proxy_pass http://127.0.0.1:1881;
}

https://ip_address/ui trong trình duyệt của tôi chạy tốt với tất cả các hình ảnh ứng dụng.

  1. Với tính năng viết lại để chuyển tiếp cổng từ giao diện người dùng sang phụ trợ, một cách linh hoạt:

    vị trí ~ ^/(?<cổng>\d\d\d\d) {
    
        viết lại "^/\d{4}/(.*)" /$1 break;
        proxy_pass http://127.0.0.1:$port;
    

    }

Với regex, tôi trích xuất cổng từ ip_adr/1881 với /(?<cổng>\d\d\d\d)và viết lại url mà không cần /1881 nhưng giữ cuối cùng /path1/path2/...

Nếu tôi đặt https://192.168.x.x/1881/ui/ trong trình duyệt của tôi mọi thứ đều tốt nhưng KHÔNG CÓ hình ảnh.


Sau nhiều lần kiểm tra, trình duyệt của tôi không hiển thị bất kỳ hình ảnh nào và nhật ký lỗi theo dõi cho biết tôi cho tất cả hình ảnh:

10/03/2022 01:01:36 [lỗi] 50065#50065: *1224 open() "/usr/share/nginx/html/schema_fire_EEU.jpg" không thành công (2: Không có tệp hoặc thư mục như vậy), máy khách: 192.168 .1.29, máy chủ: exemple3.test.fr, yêu cầu: "GET /schema_fire_EEU.jpg HTTP/1.1", máy chủ: "192.168.1.53", liên kết giới thiệu: "https://192.168.1.53/1881/ui/"

Điều đó thật khó tin, nếu tôi đặt https://192.168.x.x/1881/schema_fire_EEU.jpg, tôi có thể hiển thị hình ảnh này!!!

Tôi nghĩ, có một vấn đề với dấu gạch chéo ...

Ai đó có thể giúp tôi ?

Chúc bạn ngày mới tốt lành ;-)

djdomi avatar
lá cờ za
Bản sao của [IP proxy ngược nginx\_adr/1881 thành localhost:1881 proxy\_pass](https://serverfault.com/questions/1095645/nginx-reverse-proxy-ip-adr-1881-to-localhost1881-proxy- vượt qua)
dinastar66 avatar
lá cờ cn
Xin lỗi nhưng, không giống nhau ;-)
Điểm:0
lá cờ cn

Theo hiểu biết của tôi về những gì bạn đang nói, vấn đề có thể là URI mà bạn đang ủy quyền không đúng.

Nếu "https://192.168.x.x/1881/schema_fire_EEU.jpg" này hoạt động có nghĩa là dịch vụ của bạn đang hiển thị hình ảnh của bạn trong "/", nhưng quy tắc ProxyPass không có "/".

Bạn có thể thử với:

ProxyPass / http://ip:port

Chúc một ngày tốt lành. :)

dinastar66 avatar
lá cờ cn
Cảm ơn bạn nhưng, thay vì ``proxy_pass http://127.0.0.1:$port/;`` ?
djdomi avatar
lá cờ za
ProxyPass là Cú pháp của Apache không phải Nginx
dinastar66 avatar
lá cờ cn
Ok, nhưng tôi không thể có được bất kỳ hình ảnh nào nữa

Đă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.