Điểm:0

Nginx - chặn quyền truy cập vào thư mục con

lá cờ tr

Đây là trang Next.js với React. Chạy với proxy NPM và Nginx vào máy chủ cục bộ.

Tôi có khối máy chủ nginx sau trong virtualhost:

người phục vụ {
        nghe 443 ssl;
        server_name dev.sekretyrozwojuosobistego.pl;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        bật ssl_prefer_server_ciphers;
        ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
        client_max_body_size 15M;

        địa điểm /  {
                proxy_pass http://localhost:4006;
                proxy_http_version 1.1;
                proxy_set_header Nâng cấp $http_upgrade;
                'nâng cấp' kết nối proxy_set_header;
                proxy_set_header Máy chủ lưu trữ $host;
                proxy_cache_bypass $http_upgrade;
        }

}

Tôi muốn chặn truy cập vào /riêng

Nếu tôi thêm một vị trí mới theo cách này thì có vấn đề:

người phục vụ {
        nghe 443 ssl;
        server_name dev.sekretyrozwojuosobistego.pl;
    ssl_certificate /etc/letsencrypt/live/sekretyrozwojuosobistego.pl/fullchain.pem; # được quản lý bởi Certbot
    ssl_certificate_key /etc/letsencrypt/live/sekretyrozwojuosobistego.pl/privkey.pem; # được quản lý bởi Certbot

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        bật ssl_prefer_server_ciphers;
        ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

        client_max_body_size 15M;


# trả lại 301 https://$host$request_uri;


        vị trí /riêng tư {
               auth_basic "Công việc đang tiến hành";
               auth_basic_user_file /etc/nginx/restricted/.htpasswd;
               proxy_pass http://localhost:4006;

               proxy_http_version 1.1;
               proxy_set_header Nâng cấp $http_upgrade;
               'nâng cấp' kết nối proxy_set_header;
               proxy_set_header Máy chủ lưu trữ $host;
               proxy_cache_bypass $http_upgrade;
        }


        địa điểm /  {
# auth_basic "Đang tiến hành";
# auth_basic_user_file /etc/nginx/restricted/.htpasswd;
                proxy_pass http://localhost:4006;
                proxy_http_version 1.1;
                proxy_set_header Nâng cấp $http_upgrade;
                'nâng cấp' kết nối proxy_set_header;
                proxy_set_header Máy chủ lưu trữ $host;
                proxy_cache_bypass $http_upgrade;
        }

}

Tốt của giải pháp này:

  • /private chỉ có thể được truy cập bằng mật khẩu

Xấu của giải pháp này: tôi nhận được lỗi như vậy:

Không thể tải tài nguyên: máy chủ đã phản hồi với trạng thái 404 ()
webpack-917a29e0b939a068b2f9.js:1 Không tải được tài nguyên: máy chủ phản hồi với trạng thái 404 ()
_app-9d47fe6f5703c9f8e12f.js:1 Không tải được tài nguyên: máy chủ phản hồi với trạng thái 404 ()
_buildManifest.js:1 Không tải được tài nguyên: máy chủ phản hồi với trạng thái 404 ()
_ssgManifest.js:1 Không tải được tài nguyên: máy chủ phản hồi với trạng thái 404 ()

Nếu tôi nhận xét ra /riêng chặn vị trí các lỗi 404 ngừng xảy ra.

Tôi có đang làm sai không? Làm thế nào để khắc phục điều đó?

CHỈNH SỬA: Tôi đã có thể làm cho nó hoạt động theo cách này:

            địa điểm /  {
# auth_basic "Đang tiến hành";
# auth_basic_user_file /etc/nginx/restricted/.htpasswd;
                    proxy_pass http://localhost:4006;
                    proxy_http_version 1.1;
                    proxy_set_header Nâng cấp $http_upgrade;
                    'nâng cấp' kết nối proxy_set_header;
                    proxy_set_header Máy chủ lưu trữ $host;
                    proxy_cache_bypass $http_upgrade;
            }
    
    
            địa điểm ^~/riêng tư {
                    auth_basic "Công việc đang tiến hành";
                    auth_basic_user_file /etc/nginx/restricted/.htpasswd;
                     proxy_pass http://localhost:4006;
           }

Tuy nhiên tôi không chắc liệu nó có nên ^~/riêng tư hoặc cái gì đó khác...

Những gì tôi muốn chặn là: /riêng /riêng/ /riêng? /riêng tư?bất cứ điều gì /riêng tư/sao cũng được

djdomi avatar
lá cờ za
vui lòng chia sẻ đường dẫn đầy đủ từ các tài nguyên bị lỗi/ứng dụng yêu cầu riêng tư
lá cờ tr
Tôi vừa thêm một CHỈNH SỬA vào câu hỏi ban đầu

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