Điểm:0

Nginx không tải được css, js và png của máy chủ tomcat

lá cờ ng

Tôi đang cố gắng triển khai máy chủ Tomcat & Nginx trên một phiên bản AWS EC2 duy nhất. Tôi có 3 phiên bản và trên mỗi phiên bản, tôi muốn triển khai máy chủ Nginx & Tomcat. Dưới đây là tập tin cấu hình của tôi

/etc/nginx/nginx.conf

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

sự kiện {
        công_nhân kết_nối 768 ;
        # đa_chấp vào ;
}

http {

        ##
        # Cài đặt cơ bản
        ##

        gửi tệp trên;
        bật tcp_nopus;
        bật tcp_nodelay;
        keepalive_timeout 65;
        loại_hash_max_size 2048;
        # server_token tắt;

        # server_name_hash_bucket_size 64;
        # máy chủ_tên_trong_chuyển hướng tắt;

        bao gồm /etc/nginx/mime.types;
        ứng dụng default_type/octet-stream;

        ##
        # Cài đặt SSL
        ##

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Bỏ SSLv3, tham khảo: POODLE
        bật ssl_prefer_server_ciphers;

        ##
        # Cài đặt ghi nhật ký
        ##

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        ##
        # Cài đặt Gzip
        ##

        bật gzip;

        # gzip_vary bật;
        # gzip_proxied bất kỳ;
        # gzip_comp_cấp 6;
        # gzip_buffers 16 8k;
        # gzip_http_version 1.1;
        # văn bản gzip_types/văn bản thuần túy/ứng dụng css/ứng dụng json/văn bản javascript/ứng dụng xml/ứng dụng xml/xml+văn bản rss/javascript;

        ##
        # Cấu hình máy chủ ảo
        ##

        bao gồm /etc/nginx/conf.d/*.conf;
}"

/etc/nginx/conf.d/application.conf

người phục vụ {
    nghe 80 default_server;
    lắng nghe [::]:80 default_server;
    máy chủ_tên máy chủ cục bộ;
    gốc /var/lib/tomcat9/webapps/ROOT;
    chỉ mục triển khai.html;
    vị trí / quản trị viên {
                try_files $uri $uri/ /deploy.html;
        }
    vị trí /admin/admin-portal {
        bí danh /opt/tomcat/webapps/ROOT/;
        viết lại /admin-portal/(.*) /$1 break;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:8080/;
        }
    vị trí ~ \.css {
           add_header Văn bản loại nội dung/css;
        }
    vị trí ~ \.js {
            add_header Ứng dụng kiểu nội dung/x-javascript;
        }

Mục tiêu của tôi là, khi tôi nhấn http://IP/ hoặc HTTP://IP/admin thì nó sẽ chuyển hướng đến triển khai.html và khi tôi nhấn HTTP://IP/admin/admi-portal thì nó sẽ mở máy chủ tomcat

LƯU Ý: Tôi đã thành công trong cả hai điều kiện ngoại trừ khi tôi nhấn HTTP://IP/admin/admi-portal thì nó chỉ mở trang HTML và tệp CSS/png/js gặp lỗi 404:không tìm thấy

/opt/tomcat/ứng dụng web/ROOT/ đây là đường dẫn tệp cho tất cả tệp tĩnh Tomcat CSS/js/png, v.v.

Bất cứ ai có thể giúp tôi với điều này?

Điểm:0
lá cờ us

Trong trường hợp này, các yêu cầu đối với tệp CSS/JS có /admin/cổng thông tin/ tiền tố vẫn được phục vụ bởi vị trí ~ \.css khối, do cách hoạt động của thuật toán chọn vị trí nginx.

Nếu bạn muốn ngăn kết hợp regex cho bất kỳ thứ gì có /admin/admin-portal tiền tố, thì bạn cần sử dụng:

vị trí ^~ /admin/admin-portal {
    ...
}

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