Điểm:0

có ai có giải pháp để tôi truy cập thư mục con của ứng dụng của tôi sau proxy nginx không?

lá cờ us

Tôi có hai máy chủ có địa chỉ IP khác nhau:

  • Tomcat phục vụ ứng dụng web của tôi https://app1.domain.com (centos6)
  • Nginx hoạt động như waf thông qua https://nginx.domain.com (centos7)

Nginx đang chạy trên cổng 443 và tôi đang sử dụng nó để đảo ngược proxy ứng dụng web của mình theo cách này:

vị trí /app1/ {
    viết lại ^/app1(.*) /$1 break; 
    proxy_pass https://app1.domain.com/;
}

Bằng cách này, tôi thường truy cập ứng dụng web của mình qua nginx thông qua https://nginx.domain.com/app1/.

Thứ hai, trong NGUỒN GỐC thư mục của ứng dụng web của tôi, tôi đã cài đặt ứng dụng birt-viewer trong ROOT/người xem sinh thư mục. Tôi thường truy cập ứng dụng birt-viewer khi sử dụng liên kết https://app1.domain.com/birt-viewer.

Tuy nhiên, tôi thường không truy cập ứng dụng birt khi tôi sử dụng liên kết https://nginx.domain.com/app1/birt-viewer. Khi tôi sao chép ví dụ liên kết

/birt-viewer/Task.jsp?__report=Recare.rpgn&sample=my+parameter&__sessionId=2026

và tôi dán nó sau liên kết https://nginx.domain.com/app1 để có được liên kết cuối cùng

https://nginx.domain.com/app1/birt-viewer/Task.jsp?__report=Recare.rpgn&sample=my+parameter&__sessionId=2026

Tôi truy cập ứng dụng birt-viewer nhưng tôi mất các cài đặt như cookie và phiên.

Bạn hiểu rằng để truy cập ứng dụng web của tôi qua nginx, tôi phải thực hiện thủ công; nhược điểm là mất cookie, phiên và các tham số khác. Tuy nhiên, việc truy cập nên được thực hiện tự động mà không gặp sự cố.

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

người dùng nginxxxx;
worker_processes 1;
error_log /var/log/error.log cảnh báo;
nhật ký pid/nginx.pid;
sự kiện {
    công_nhân kết_nối 1024 ;
}
http {
# bao gồm mime.types;
    bao gồm /opt/nginx/conf/mime.types;    
    bao gồm /opt/nginx/conf/naxsi_core.rules;
    ứng dụng default_type/octet-stream;
    log_format chính '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log /var/log/access.log chính;
    gửi tệp trên;
    bật tcp_nopus;
    keepalive_timeout 65;
    bật tcp_nodelay;
    bật gzip;
    gzip_disable "MSIE [1-6].(?!.*SV1)";
    client_max_body_size 100m;
    client_body_buffer_size 10K;

    người phục vụ {
         nghe 443 ssl;
        server_name nginx.domain.com;
    truy cập_đăng nhập;
        access_log /var/log/access.log chính;
    error_log on ;
        error_log /var/log/error.log cảnh báo;
        ssl_certificate /etc/ssl/certs/m.crt;
        ssl_certificate_key /etc/ssl/private/cs.key;
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers CAO:!aNULL:!MD5;
        bật ssl_prefer_server_ciphers;
        add_header Strict-Transport-Security "max-age=63072000; includeSubdomains;" luôn;
        add_header X-Frame-Options CÙNG GỐC;
        add_header X-Content-Type-Options nosniff;
        add_header X-XSS-Protection "1; mode=block";
    error_page 403 /403_error.html;
        vị trí = /403_error.html {
            gốc /usr/share/nginx/htmml;
            nội bộ;
        }

    error_page 404 /404_error.html;
        vị trí = /404_error.html {
            gốc /usr/share/nginx/html;
            nội bộ;
        }


 vị trí /app1/
         {
viết lại ^/app1(.*) /$1 break;
proxy_connect_timeout 60000;
proxy_send_timeout 60000;
proxy_read_timeout 60000;
gửi_thời gian chờ 60000;
proxy_pass https://app1.domain.com/;
   }

vị trí /app1/birt-viewer/ {
    viết lại ^/app1/folder1(.*) /$1 break; 
    proxy_pass https://app1.domain.com/birt-viewer/;
}

           }

}

Tôi cũng nhận ra rằng một khi ứng dụng web của tôi chạy sau nginx, một số url không được cập nhật và vẫn giữ quyền truy cập cũ.

Vì vậy, mối quan tâm của tôi là tự động truy cập ứng dụng birt-viewer (không phải thủ công) thông qua nginx qua https://nginx.domain.com/app1/birt-viewer

Có ai có một giải pháp cho tôi?

user11665472 avatar
lá cờ us
Sai lầm! sai sót Ý tôi là tôi không thể truy cập các tệp trong các thư mục này thông qua **nginx.domain.com/app1/folder1** hoặc **nginx.domain.com/app1/folder2**; tôi gặp lỗi 404 có ai có giải pháp để tôi truy cập thư mục con của ứng dụng của tôi sau proxy nginx không?
djdomi avatar
lá cờ za
Các câu hỏi tìm kiếm trợ giúp về cài đặt, cấu hình hoặc chẩn đoán phải bao gồm trạng thái kết thúc mong muốn, sự cố hoặc lỗi cụ thể, thông tin đầy đủ về cấu hình và môi trường để tái tạo nó cũng như các giải pháp đã thử. Các câu hỏi không có tuyên bố vấn đề rõ ràng sẽ không hữu ích cho những người đọc khác và không có khả năng nhận được câu trả lời hay.
user11665472 avatar
lá cờ us
Mister Djdomi Cảm ơn bạn đã bình luận; Tôi chỉ chỉnh sửa câu hỏi với nhiều chi tiết hơn.
djdomi avatar
lá cờ za
cấu hình showb không phản ánh trạng thái được sử dụng hiện tại, bạn có bị nhầm lẫn gì không? vui lòng hiển thị và chia sẻ cấu hình chính xác. nginx -T giúp bạn
user11665472 avatar
lá cờ us
Mister Djdomi Một lần nữa Cảm ơn bạn đã bình luận; Tôi vừa chỉnh sửa câu hỏi với toàn bộ cấu hình nginx.

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