Điểm:0

NGINX phục vụ nhiều ứng dụng góc cạnh - lỗi thiếu tệp tĩnh

lá cờ bd
Pat

Có nhiều hơn 1 ứng dụng góc được cung cấp bởi proxy ngược nginx duy nhất. Đây là cấu hình của tôi, tôi đã thử.

worker_processes 1;

error_log <%= ENV["APP_ROOT"] %>/nginx/logs/error.log;
sự kiện { worker_connections 1024; }

http {

    client_max_body_size 3G;
    
    
    log_format upstream_time '$remote_addr - $remote_user [$time_local] '
                             '"$request" $status $body_bytes_sent '
                             '"$http_referer" "$http_user_agent" '
                             'rt="$request_time" uct="$upstream_connect_time" uht="$upstream_header_time" urt="$upstream_response_time" ua="$upstream_addr" ';
                             
    access_log <%= ENV["APP_ROOT"] %>/nginx/logs/access.log upstream_time;  
        
    người phục vụ {
        lắng nghe <%= ENV["PORT"] %>;
        máy chủ_tên máy chủ cục bộ;
        gốc <%= ENV["APP_ROOT"] %>/public;
        
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_http_version 1.1;
        
        #springboot vi dịch vụ
        vị trí /monitoringserv/details/ {
            <% nếu ENV["FORCE_HTTPS"] %>
                nếu ($http_x_forwarded_proto != "https") {
                trả lại 301 https://$host$request_uri;
                }
            <% hết %>           
            proxy_pass https://monitoring-c-serv.apps-dev.net;
            }
        
        vị trí /dashboardserv/queue/ {
            <% nếu ENV["FORCE_HTTPS"] %>
                nếu ($http_x_forwarded_proto != "https") {
                trả lại 301 https://$host$request_uri;
                }
            <% hết %>           
            proxy_pass https://dashboard-c-serv.apps-dev.net;
            }
                
        #trang đích giao diện người dùng mặc định
        vị trí ~ .(html|js|css|eot|svg|ttf|woff|woff2|png|gif|ico|jpg|jpeg)$ {                                    
            proxy_pass https://dashboard.apps-dev.net;
        }
                                
        vị trí ~ ^/admin/.*\.(html|js|css|eot|svg|ttf|woff|woff2|png|gif|ico|jpg|jpeg)$ {
                try_files $request_uri $request_uri/ =404;  
        }

        vị trí ~ ^/monitoring/.*\.(html|js|css|eot|svg|ttf|woff|woff2|png|gif|ico|jpg|jpeg)$ {    
                try_files $request_uri $request_uri/ =404;  
        }
                        
        #1-URL giao diện người dùng mặc định.
        địa điểm / {            
            proxy_pass https://dashboard.apps-dev.net;
        }
        
        vị trí /quản trị viên/ {          
            proxy_pass https://admin.apps-dev.net;;
        }
        
        vị trí /giám sát/ {         
            proxy_pass https://monitoring.apps-dev.net;;
        }
    }
}

Đồng thời xây dựng các ứng dụng góc cạnh với

xây dựng --prod --base-href /admin/
ng build --prod --base-href /monitoring/

Khi tôi khởi chạy ứng dụng bảng điều khiển của ứng dụng đã mở tốt và khi tôi tải quản trị viên hoặc giám sát, tôi gặp lỗi thông báo thiếu tệp tĩnh.

lá cờ us
Vui lòng thêm cấu hình nginx đầy đủ như được hiển thị bởi `nginx -T`.
Pat avatar
lá cờ bd
Pat
@TeroKilkanen đã thêm mã cấu hình đầy đủ.
lá cờ us
Đây không phải là đầu ra của `nginx -T`. nginx không có thẻ `` trong cấu hình của nó. Vui lòng cung cấp đầu ra của `nginx -T`.
Điểm:1
lá cờ in

Vấn đề với regex, hãy thử

vị trí ~ ^/admin/.*\.(html|js|css|eot|svg|ttf|woff|woff2|png|gif|ico|jpg|jpeg)$ {
    try_files $request_uri $request_uri/ =404;  
}
vị trí ~ ^/monitoring/.*\.(html|js|css|eot|svg|ttf|woff|woff2|png|gif|ico|jpg|jpeg)$ {    
    try_files $request_uri $request_uri/ =404;  
}

ồ, và đừng quên khởi động lại nginx và xóa bộ nhớ cache của trình duyệt.

Pat avatar
lá cờ bd
Pat
@ gerard-h-pille Cảm ơn, đã thử regex ở trên và cùng một vấn đề - "Không thể tải tập lệnh mô-đun: Cần một tập lệnh mô-đun JavaScript nhưng máy chủ đã phản hồi bằng loại MIME là "text/html". Kiểm tra loại MIME nghiêm ngặt được thực thi đối với tập lệnh mô-đun cho mỗi thông số HTML." Ngoài ra tôi đã cập nhật mã hoàn chỉnh trong câu hỏi.
Gerard H. Pille avatar
lá cờ in
Đối với tôi, âm thanh đó khác với "thiếu tệp tĩnh". Tôi không thấy bất cứ điều gì trong cấu hình của bạn về các loại mime.
Pat avatar
lá cờ bd
Pat
@ gerard-h-pille, tệp tĩnh, xấu của tôi đã biến mất sau khi sửa lỗi regex. Nhưng lỗi loại MIME nghiêm ngặt xuất hiện sau khi tôi thêm baseHref vào góc. Ngoài ra, tôi thấy rằng từ bảng điều khiển trình duyệt, NGINX đang mong đợi các yêu cầu tệp tài nguyên (chẳng hạn như tệp JS) trên các URL được định cấu hình giống như các giá trị baseHref và không thể tìm thấy nó. Ngoài ra, trong tab nguồn của công cụ Nhà phát triển trình duyệt, tôi chỉ thấy index.html (tệp trống) không có tệp nào khác cho ứng dụng "quản trị" hoặc "giám sát". Vì vậy, tôi đang thiếu một số cấu hình trong nginx?
Gerard H. Pille avatar
lá cờ in
Nginx không bao giờ "mong đợi" các yêu cầu. Nếu trình duyệt không đưa ra yêu cầu, thì có vấn đề với trình duyệt hoặc - nhiều khả năng - html của bạn. Với một index.html trống, trình duyệt không có lý do gì để thực hiện thêm yêu cầu. Vui lòng giải quyết các nhận xét của Tero trước: cấu hình bạn đã thêm là gì?

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