Score:0

Nginx - บล็อกการเข้าถึงโฟลเดอร์ย่อย

ธง tr

นี่คือ Next.js พร้อมไซต์ React รันด้วยพร็อกซี NPM และ Nginx ไปยัง localhost

ฉันมีบล็อกเซิร์ฟเวอร์ nginx ต่อไปนี้ใน virtualhost:

เซิร์ฟเวอร์ {
        ฟัง 443 ssl;
        server_name dev.sekretyrozwojuosobistego.pl;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        เปิด ssl_prefer_server_ciphers;
        ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
        client_max_body_size 15M;

        ที่ตั้ง /  {
                proxy_pass http://localhost:4006;
                proxy_http_version 1.1;
                proxy_set_header อัพเกรด $http_upgrade;
                proxy_set_header การเชื่อมต่อ 'อัปเกรด';
                proxy_set_header โฮสต์ $host;
                proxy_cache_bypass $http_upgrade;
        }

}

ฉันต้องการปิดกั้นการเข้าถึง /ส่วนตัว

หากฉันเพิ่มตำแหน่งใหม่ด้วยวิธีนี้จะมีปัญหา:

เซิร์ฟเวอร์ {
        ฟัง 443 ssl;
        server_name dev.sekretyrozwojuosobistego.pl;
    ssl_certificate /etc/letsencrypt/live/sekretyrozwojuosobistego.pl/fullchain.pem; # จัดการโดย Certbot
    ssl_certificate_key /etc/letsencrypt/live/sekretyrozwojuosobistego.pl/privkey.pem; # จัดการโดย Certbot

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        เปิด ssl_prefer_server_ciphers;
        ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

        client_max_body_size 15M;


# ส่งคืน 301 https://$host$request_uri;


        สถานที่ / ส่วนตัว {
               auth_basic "อยู่ระหว่างดำเนินการ";
               auth_basic_user_file /etc/nginx/restricted/.htpasswd;
               proxy_pass http://localhost:4006;

               proxy_http_version 1.1;
               proxy_set_header อัพเกรด $http_upgrade;
               proxy_set_header การเชื่อมต่อ 'อัปเกรด';
               proxy_set_header โฮสต์ $host;
               proxy_cache_bypass $http_upgrade;
        }


        ที่ตั้ง /  {
# auth_basic "อยู่ระหว่างดำเนินการ";
# auth_basic_user_file /etc/nginx/restricted/.htpasswd;
                proxy_pass http://localhost:4006;
                proxy_http_version 1.1;
                proxy_set_header อัพเกรด $http_upgrade;
                proxy_set_header การเชื่อมต่อ 'อัปเกรด';
                proxy_set_header โฮสต์ $host;
                proxy_cache_bypass $http_upgrade;
        }

}

วิธีแก้ปัญหานี้ดี:

  • /private สามารถเข้าถึงได้ด้วยรหัสผ่านเท่านั้น

วิธีแก้ปัญหานี้ไม่ดี: ฉันได้รับข้อผิดพลาดดังกล่าว:

ไม่สามารถโหลดทรัพยากร: เซิร์ฟเวอร์ตอบกลับด้วยสถานะ 404 ()
webpack-917a29e0b939a068b2f9.js:1 ไม่สามารถโหลดทรัพยากร: เซิร์ฟเวอร์ตอบสนองด้วยสถานะ 404 ()
_app-9d47fe6f5703c9f8e12f.js:1 ไม่สามารถโหลดทรัพยากร: เซิร์ฟเวอร์ตอบกลับด้วยสถานะ 404 ()
_buildManifest.js:1 ไม่สามารถโหลดทรัพยากร: เซิร์ฟเวอร์ตอบกลับด้วยสถานะ 404 ()
_ssgManifest.js:1 ไม่สามารถโหลดทรัพยากร: เซิร์ฟเวอร์ตอบกลับด้วยสถานะ 404 ()

ถ้าฉันแสดงความคิดเห็นออก /ส่วนตัว ตำแหน่งบล็อก ข้อผิดพลาด 404 หยุดเกิดขึ้น

ฉันทำผิดหรือเปล่า? จะแก้ไขได้อย่างไร?

แก้ไข: ฉันสามารถทำให้มันทำงานด้วยวิธีนี้:

            ที่ตั้ง /  {
# auth_basic "อยู่ระหว่างดำเนินการ";
# auth_basic_user_file /etc/nginx/restricted/.htpasswd;
                    proxy_pass http://localhost:4006;
                    proxy_http_version 1.1;
                    proxy_set_header อัพเกรด $http_upgrade;
                    proxy_set_header การเชื่อมต่อ 'อัปเกรด';
                    proxy_set_header โฮสต์ $host;
                    proxy_cache_bypass $http_upgrade;
            }
    
    
            ที่ตั้ง ^~/ส่วนตัว {
                    auth_basic "อยู่ระหว่างดำเนินการ";
                    auth_basic_user_file /etc/nginx/restricted/.htpasswd;
                     proxy_pass http://localhost:4006;
           }

แต่ฉันไม่แน่ใจว่าควรจะเป็น ^~/ส่วนตัว หรืออย่างอื่น...

สิ่งที่ฉันต้องการบล็อกคือ: /ส่วนตัว /ส่วนตัว/ /ส่วนตัว? /ส่วนตัว?อะไรก็ตาม /ส่วนตัว/อะไรก็ตาม

djdomi avatar
za flag
โปรดแชร์เส้นทางแบบเต็มจากทรัพยากรที่ล้มเหลว /private ที่จำเป็นโดยแอปพลิเคชัน
tr flag
ฉันเพิ่งเพิ่ม EDIT ให้กับคำถามเดิม

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา