Điểm:0

NGINX - proxy ngược nhưng một thư mục con vào thư mục cục bộ tĩnh

lá cờ mt

Tôi gặp sự cố khi tìm ra cú pháp cơ bản để ủy quyền hầu hết lưu lượng truy cập tới bản cài đặt Solr cục bộ nhưng để lại một yêu cầu đường dẫn/thư mục được gửi đến thư mục html tĩnh. Có cần phải đặt tất cả các vị trí cấp hai, cấp ba, v.v... bằng regex không? Không thể tìm thấy một hướng dẫn đơn giản về điều này.

lỗi hiện tại: /adv/index.html - 404 - Không tìm thấy /adv/ - 403 Cấm /solr/ - hoạt động tốt

Đây là cấu hình của tôi:

dữ liệu www của người dùng;
worker_processes tự động;
pid /run/nginx.pid;
#include /etc/nginx/modules-enabled/*.conf;

sự kiện {
        công_nhân kết_nối 1024 ;
        multi_accept on;
}

http {
        gửi tệp trên;
        bật tcp_nopus;
        bật tcp_nodelay;
        keepalive_timeout 65;
        loại_hash_max_size 2048;
        chỉ số index.html;

        bao gồm /etc/nginx/mime.types;
        ứng dụng default_type/octet-stream;
        người phục vụ {
                nghe 80;

                địa điểm / {
                    proxy_pass http://localhost:8983;
                }

                địa điểm /adv/ {
                        # cũng không chắc những quyền cần thiết ở đây
                        # đặt đệ quy thư mục adv và các tệp trong 777
                        bí danh /var/www/adv;
                }
        }
}
Richard Smith avatar
lá cờ jp
Kiểm tra nhật ký lỗi, nhưng cũng thử `root /var/www;` thay vì `alias /var/www/adv;`
Ivan Shatsky avatar
lá cờ gr
@Tyndall Khi bạn sử dụng lệnh `alias` bên trong vị trí, bạn cần sử dụng dấu gạch chéo một cách cẩn thận.Cấu hình của bạn sẽ thay thế tiền tố `/adv/` của URI của bạn bằng `/var/www/adv` dẫn đến tên tệp không hợp lệ. [Ở đây](https://stackoverflow.com/a/69296739/7121513) là giải thích chi tiết hơn với các ví dụ.
lá cờ mt
kỳ dị. dựa trên nhật ký, có vẻ như các yêu cầu của tôi đang cố truy cập /adv/adv/index.html khi tôi sử dụng root và /advindex.html khi tôi sử dụng bí danh.
lá cờ mt
Nếu tôi cố gắng sử dụng quyền root và xóa quảng cáo khỏi đường dẫn (để nó tự thêm vào từ url tôi chuyển) thì nó hoạt động với mọi thứ trừ/adv, gần giống như nó không biết thư mục của nó và chỉ phục vụ index.html của tôi tập tin. (/adv/ hoạt động và /adv/index.html hoạt động)
Ivan Shatsky avatar
lá cờ gr
@Tyndall Đây là một hành vi dự kiến. Bạn có thể buộc chuyển hướng bằng cách sử dụng một cái gì đó như `location = /adv { return 301 /adv/; }`. Sử dụng `root /var/www` hoặc `alias /var/www/adv/` bên trong `location /adv/ { ... }`, nhưng không dùng `alias /var/www/adv`. Sử dụng `root /var/www/` sẽ không gây hại như vậy vì nó sẽ dẫn đến đường dẫn tệp `/var/www//adv/index.html` cũng sẽ hoạt động.
Ivan Shatsky avatar
lá cờ gr
@Tyndall Hoặc bạn có thể sử dụng `location /adv { root /var/www; }` hoặc `vị trí /adv { bí danh /var/www/adv; }`, tuy nhiên, nó sẽ vượt qua bất kỳ URI yêu cầu nào bắt đầu bằng `/adv`, ví dụ: `/advance` cũng vậy.
lá cờ mt
cảm ơn mọi người. Vì vậy, giải pháp có vẻ phù hợp với tôi. Là từ nhận xét đầu tiên của Ivan (và Richard) là bí danh không có dấu gạch chéo trên đường dẫn vị trí hoặc đường dẫn bí danh. Điều kỳ lạ là ... khi tôi nhập /adv mà không có dấu gạch chéo, tôi nghĩ rằng mình đang được chuyển hướng đến một phiên bản url có dấu gạch chéo ở cuối. Điều đó có bình thường đối với Nginx để làm điều này không?
Ivan Shatsky avatar
lá cờ gr
@Tyndall Tôi nghĩ điều đó là bình thường đối với mọi máy chủ web vì `adv` là một thư mục chứ không phải tệp. Bạn đang xem một chỉ mục bên trong thư mục `adv`. Hãy nghĩ về nó giống như nó là một hệ thống tập tin.
lá cờ mt
Nên thêm điều này như một câu trả lời để có được tín dụng. Cảm ơn một lần 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.