นี่คือ 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;
}
แต่ฉันไม่แน่ใจว่าควรจะเป็น ^~/ส่วนตัว
หรืออย่างอื่น...
สิ่งที่ฉันต้องการบล็อกคือ:
/ส่วนตัว
/ส่วนตัว/
/ส่วนตัว?
/ส่วนตัว?อะไรก็ตาม
/ส่วนตัว/อะไรก็ตาม