Saya mencoba untuk mulai menggunakan IIS. Saya membuat situs baru di IIS Manager, memetakannya ke folder di sistem file saya dan menambahkan index.html ke folder. Saya telah menyetel porta ke 85 untuk situs ini. Ketika saya mencoba mengakses http://localhost:85/index.html
, saya mendapatkan pesan kesalahan berikut:
401.3 - tidak berdasar - Anda tidak memiliki izin untuk melihat direktori atau halaman ini karena konfigurasi daftar kontrol akses (ACL) atau pengaturan enkripsi untuk sumber daya ini di server Web.
Saya memberikan akses baca ke semua orang di folder dan mencoba lagi. Saya kemudian dapat mengakses halaman tersebut.
Saya kemudian membandingkan properti folder saya dengan wwwroot. Saya menemukan bahwa wwwroot memiliki akses membaca di IIS_IUSRS ... Ketika saya melakukan hal yang sama di folder saya dan mencoba lagi, saya mendapatkan kesalahan di atas lagi. Saya memeriksa bahwa akses anonim diaktifkan secara default, tetapi saya masih mendapatkan kesalahan ini.
Mengapa ini terjadi? Bagaimana cara yang benar untuk menyelesaikan masalah?
Inilah yang berhasil untuk saya.
Untuk menyetel server anonim agar mewarisi dari identitas kumpulan aplikasi, lakukan hal berikut ..
sumber
TL; DR;
Dalam kebanyakan kasus, memberikan akses ke akun berikut (satu | keduanya) sudah cukup:
dengan Hak Akses :
Itu dia!
Baca terus untuk penjelasan lebih detail ...
Berikan akses ke ACL folder aplikasi web tergantung apa yang dipilih pada gambar di atas:
IUSR
(dalam kasus saya) +IIS AppPool\DefaultAppPool
IIS AppPool\DefaultAppPool
hanyaIIS AppPool\DefaultAppPool
akun adalah akun AppPool default untuk aplikasi web IIS baru, jika Anda telah menetapkan akun kustom, gunakan akun kustom.Berikan izin berikut ke akun:
Read & Execute
List folder contents
Read
sumber
Karena Anda berurusan dengan konten statis ...
Di folder yang bertindak sebagai root situs web Anda- jika Anda mengklik kanan> properti> keamanan, apakah "Pengguna" muncul dalam daftar? jika tidak klik "Tambahkan ..." dan ketik, pastikan untuk mengklik "Terapkan" setelah Anda selesai.
sumber
Coba solusi ini:
/server/38222/iis-7-5-windows-7-http-error-401-3-unauthorized
Juga periksa apakah pengguna yang menjalankan IIS AppPool memiliki akses baca ke folder / file tersebut.
Lihatlah ini:
http://www.iis.net/learn/manage/configuring-security/application-pool-identities
Lihat juga ini:
http://www.iis.net/learn/get-started/planning-for-security/understanding-built-in-user-and-group-accounts-in-iis
sumber
Untuk berjaga-jaga jika ada orang lain yang mengalami ini. Saya memecahkan masalah semua langkah ini dan ternyata karena saya membuka ritsleting beberapa file dari MAC, Microsoft secara otomatis tanpa pemberitahuan Mengenkripsi file. Setelah berjam-jam mencoba mengatur izin folder, saya masuk dan melihat nama file berwarna hijau yang berarti file dienkripsi dan IIS akan menampilkan kesalahan yang sama meskipun izin folder sudah benar.
sumber
untuk rute, tambahkan web.config
sumber
Masalah lain yang mungkin timbul terkait dengan menerima yang tidak sah terkait dengan penyedia yang digunakan dalam pengaturan otentikasi dari IIS. Dalam kasus saya, saya mengalami masalah itu jika saya menetapkan penyedia otentikasi Windows sebagai "Negosiasi". Setelah saya memilih opsi "NTLM", akses diberikan.
Informasi lebih lanjut tentang penyedia otentikasi
https://docs.microsoft.com/en-us/iis/configuration/system.webserver/security/authentication/windowsauthentication/providers/
sumber
Harap aktifkan item berikut di Windows 2012 R2
sumber
Jika Anda bekerja dengan otentikasi Pool Aplikasi (bukan IUSR), yang seharusnya Anda lakukan, maka daftar pemeriksaan oleh Jean Sun ini adalah yang terbaik yang dapat saya temukan untuk menangani kesalahan 401 di IIS:
Buka IIS Manager, navigasikan ke situs web atau folder aplikasi Anda tempat situs digunakan.
Jalankan perintah berikut:
Sebagai contoh:
Terutama langkah 5. & 6. sering terlewatkan dan jarang disebutkan di web.
sumber