Đâ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