Saya ingin mengunggah situs web asp.net saya sendiri di IIS dengan IIS Manager. Tetapi ketika saya melakukan ini, saya mendapatkan kesalahan berikut
Kesalahan HTTP 500.19 - Kesalahan Server Internal Halaman yang diminta tidak dapat diakses karena data konfigurasi terkait untuk halaman tidak valid
Modul IIS Web Core
Notification
Handler Tidak Dikenal Belum ditentukan
Kode0x80070005
Kesalahan Konfigurasi Kesalahan Tidak dapat membaca file konfigurasi karena izin yang tidak memadai
File Konfigurasi\\?\C:\Users\Yasso\Documents\Visual Studio 2008\WebSites\WebSite5\web.config
Saya berkali-kali mencari solusi untuk kesalahan ini, tetapi tidak ada solusi yang memecahkan kesalahan.
Saya punya masalah dengan IUSR
akun saya . Saya tidak dapat melihat akun ini di "grup atau nama pengguna" di properti web.config
.
Apa masalahnya?
sumber
Web.config
ACL file berbeda dengan file lain di direktori dan itu tidak mewarisi dari orang tuanya . Saya mengaktifkan warisan ACL dan semuanya kembali normal.Jawaban:
Pesan tersebut mengatakan bahwa file konfigurasi Anda rusak dalam beberapa cara. Namun ia juga mengatakan bahwa itu sebenarnya tidak dapat mengakses file konfigurasi. Jadi saya akan mengabaikan pesan asli tentang korupsi / kurangnya validitas karena ini kemungkinan besar hanya efek tidak dapat membaca file karena kurangnya otorisasi.
Alasannya tidak dapat membaca file konfigurasi adalah karena proses menjalankan aplikasi web Anda tidak memiliki izin untuk mengakses file / direktori. Jadi, Anda perlu memberikan proses yang menjalankan izin aplikasi web aplikasi Anda.
Hak akses harus cukup mudah, yaitu setidaknya Baca , dan, tergantung pada aplikasi Anda, mungkin Tulis .
Di atas, Anda menyebutkan IUSR dll tidak berada di properti untuk
web.config
. Jika maksud Anda IUSR tidak terdaftar di tab keamanan file maka itu hal yang baik. Seseorang tidak ingin memberikan IUSR segala jenis izin ke web.config . Peran IUSR adalah pengguna internet anonim.File web.config seharusnya hanya dapat diakses melalui aplikasi Anda.
Masalahnya adalah Anda belum mengatakan versi OS dan IIS yang Anda gunakan sehingga sulit untuk menyarankan langkah mana yang harus diambil.
Yaitu di IIS 7.5, pesan kesalahan yang Anda kutip kemungkinan akan terjadi karena ApplicationPoolIdentity Anda tidak diberi izin. Aplikasi web Anda termasuk dalam kumpulan aplikasi dan oleh karena itu Anda perlu memberikan izin ke akun OS yang menjalankan kumpulan aplikasi aplikasi web Anda. Seringkali ini adalah sesuatu seperti NetworkService tetapi Anda mungkin telah mengubahnya untuk dijalankan di bawah akun yang dibuat khusus. Tanpa info lebih lanjut, sulit untuk membantu Anda.
sumber
Ini juga dapat terjadi jika situs dikonfigurasi untuk menggunakan modul Penulisan Ulang URL IIS tetapi tidak diinstal.
sumber
Akhirnya , saya mendapat solusi untuk masalah saya. Akun ASP.net tidak muncul di manajer IIS, karena saya tidak mencentang kotak centangnya di IIS. Untuk melakukan ini di Windows 7 ikuti langkah-langkah:
Sekarang, Anda akan melihat akun ASP.net pada manajer IIS dan secara default Anda akan melihat akun IIS. Sekarang, Anda harus memindahkan situs web ASP.net Anda dari "dokumen saya" ke tempat lain di mana IIS memiliki izin untuk mengaksesnya (yaitu ke partisi lain di komputer Anda). Sekarang, jelajahi situs web Anda dari manajer IIS dan itu akan berfungsi.
Terima kasih banyak untuk Jeff Turner untuk solusinya.
sumber
dism /NoRestart /Online /Enable-Feature /FeatureName:IIS-ASPNET
Dalam kasus saya menginstal modul IIS URL Rewrite memecahkan masalah.
sumber
Saya mengalami masalah yang sama, inilah solusi yang bekerja untuk saya.
sumber
Untuk pengembang Visual Studio (VS): Seperti yang ditunjukkan oleh Harvey Darvey, Savage, dan Snives, Konfigurasi Host Aplikasi Anda mungkin menunjuk ke jalur fisik aplikasi yang salah. Cari virtualDirectory di dalam /.vs/config/applicationhost.config untuk mengubah physicalPath jika itu salah.
Pastikan physicalPath benar:
sumber
Peringatan facepalm:
Anda juga akan mendapatkan kesalahan ini jika jalur ke file konfigurasi salah. Periksa ulang untuk memastikan jalur fisik dimasukkan dengan benar di IIS.
sumber
Anda perlu menetapkan izin untuk IIS_IUSRS di mesin lokal (tetapi Anda tidak harus menetapkan untuk IUSR, pada kenyataannya itu akan bekerja bahkan jika Anda secara eksplisit menolak izin).
Untuk menetapkan izin, cukup klik kanan pada folder dan pada tab keamanan pastikan untuk memberikan izin yang benar, dan jika pengguna tidak terdaftar maka klik "ADD", dan masukkan IIS_IUSRS (dan pastikan bahwa di bawah "domain" lokal komputer dipilih, atau masukkan di bidang nama YourLocalComputerName \ IIS_IUSRS), dan kemudian Anda dapat melanjutkan.
Jika mau, Anda dapat alih-alih menetapkan izin ke grup IIS_IUSRS, Anda bisa menetapkan ke kumpulan aplikasi yang secara umum harus "IIS APPPOOL \ nama kumpulan aplikasi ".
sumber
Hanya untuk chip, saya menerima jenis kesalahan yang sama dan masalah saya cukup sederhana: Saya kehilangan .NET Core Hosting Bundle. Setelah saya menginstal alat dan me-restart server, itu baik-baik saja.
Anda dapat menemukan manual untuk menghosting inti asp.net di windows di sini: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2
sumber
Hal yang sama terjadi dengan saya, Coba periksa ini dengan mengklik dua kali pada string Koneksi di panel kanan IIS 7 ketika Anda memilih situs web.
Ini akan memberi Anda kesalahan (bahwa ada beberapa masalah dengan file konfigurasi web), karena Anda telah menggunakan aturan penulisan ulang URL dan masing-masing komponen tidak diinstal.
Instal "Microsoft URL Rewrite Module 2.0 untuk IIS 7" dan ini akan memperbaiki masalah Anda
sumber
Tidak ada yang bekerja di sini untuk saya, saya menemukan perintah ini dalam jawaban SO lain dan itu memecahkan masalah saya. Mulai saja prompt perintah sebagai administrator dan jalankan perintah ini:
Kredit: Pengguna Vicxx
sumber
Saya melakukan langkah-langkah ini untuk menyelesaikan masalah ini di Windows Server 2012, IIS 8.5. Seharusnya bekerja untuk versi lain juga.
Web Server
.NET Extensibility 4.5
,ASP.NET 4.5
dan keduaISAPI
entriNET 3.5
,.NET 4.5
,ASP.NET 4.5
Web Server
(semua),Management Tools
(Konsol Manajemen IIS dan Layanan Manajemen), Windowssumber
Satu kemungkinan lain yang memperbaiki masalah ini bagi saya:
IIS -> Edit Izin -> Tab Keamanan -> Berikan izin "Pengguna" yang sesuai (atau IIS_IUSRS, tergantung pada pengaturan Anda)
sumber
Ehm. Saya telah memindahkan situs / file saya ke folder lain. Tanpa mengubah jalur di situs web IIS.
Kalian semua bisa tertawa sekarang.
sumber
Pastikan Anda memiliki kumpulan aplikasi yang diatur ke versi kerangka kerja yang benar. Anda juga harus memastikan aspnet, IIS_IUSRS Anda, atau pengguna IUSR telah membaca akses ke direktori aplikasi.
sumber
Instal modul ASP.NET Core
Unduh penginstal menggunakan tautan berikut: https://www.microsoft.com/net/permalink/dotnetcore-current-windows-runtime-bundle-installer
sumber
Ini juga terjadi pada saya ketika saya memiliki dokumen default dengan nama yang sama (seperti index.aspx) yang ditentukan di kedua file web.config saya DAN situs web IIS saya. Saya akhirnya menghapus entri dari situs web IIS dan menyimpan entri web.config seperti di bawah ini:
sumber
Terkadang pesan ini memiliki komponen yang hilang di lingkungan IIS Anda, misalnya kerangka kerja tertentu, atau fitur IIS seperti kompresi dinamis, dan bukan izin untuk web.config.
Jika ini masalahnya, solusinya adalah menginstal dan menggunakan Pemasang Platform Microsoft dan menginstal komponen-komponen yang hilang - Anda mungkin harus mencari tahu apa yang sebenarnya hilang karena log kesalahan dan pesan tidak memberi tahu Anda.
sumber
Coba pasang sub komponen 'Pengembangan Aplikasi' IIS seperti yang disebutkan dalam SO ini
sumber
Anda perlu mengatur izin untuk folder Situs web Anda atau menyalinnya ke folder wwwroot :) - Jika mengatur izin, ada 2 cara: + Klik kanan ke folder Situs Web Anda + Atau klik kanan ke Situs Web Anda di IIS => pilih Edit izin dan Tambahkan izin (IUSR - pengguna iis default) Semoga berhasil ;-)
sumber
Dalam kasus saya, itu disebabkan oleh titik jalur fisik aplikasi ke folder yang tidak ada di IIS.
sumber
Aku punya masalah seperti yang saya menyalin file web.config saya turun dari prod, mengubah segalanya tidak prod terkait kecuali aturan Rewrite yang menulis ulang ke http S .
Menghapus aturan itu dan menjalankannya dengan baik.
sumber
Cukup mudah, IIS tidak memiliki akses ke web.config Anda. Saya akan mulai dengan mengambil situs dari folder dokumen Anda. Pastikan juga memiliki izin r / w.
sumber
Saya juga memiliki masalah serupa dan saya memperbaikinya dengan mengomentari beberapa bagian dalam file web.config.
Proyek ini sebelumnya dibangun dan digunakan dalam .Net 2.0. Setelah bermigrasi ke .Net 3.5, ia mulai melempar pengecualian.
Resolusi:
Jika file konfigurasi Anda berisi "< sectionGroup name =" system.web.extensions > ", beri komentar dan jalankan karena bagian ini sudah tersedia di bawah Machine.config.
sumber
Anda bisa mendapatkan kesalahan ini jika Anda memiliki kesalahan synax atau masalah di file web.config Anda.
Bagi saya, itu adalah ampersand nyasar di URL yang saya gunakan di AppSettings.
sumber
Pada halaman kesalahan IIS 7.5 Anda mendapatkan klik pada 'Lihat informasi lebih lanjut' di bagian bawah halaman dan dalam hal ini akan membawa Anda ke tautan Microsoft berikut:
http://support.microsoft.com/kb/942055
The 0x80070005 Kode Kesalahan tampaknya terkait dengan izin dan mengikuti langkah-langkah dalam Resolusi 2, Metode 2 yang menetapkan akun yang benar dengan izin pada folder yang relevan harus memperbaikinya - Saya menghabiskan 3 hari mencari solusi sampai saya menemukan solusi, langsung bekerja.
sumber
punya masalah dengan drive yang dipetakan, IIS tidak berfungsi dengan drive yang dipetakan. Cukup gunakan drive yang belum dipetakan.
sumber
Jelajahi folder tempat situs web Anda disimpan dan lihat Anda akan mendapatkan satu folder tambahan "aspnet_client" hapus folder itu dan itu akan bekerja untuk Anda.
Saya mencoba ini masalah saya terpecahkan.
Jika itu berhasil untuk Anda, harap jadikan itu sebagai jawaban sehingga beberapa orang lain juga akan mendapatkan solusi.
sumber
Tidak ada yang berhasil untuk saya, tetapi saya akhirnya punya solusi yang bekerja untuk saya:
hapus baris ini di web.config:
jangan hapus baris ini
sumber
Tambahkan IIS_IUSRS akun lokal ke keamanan, dan akui mereka membaca / mengeksekusi akses. yang bekerja pada kasus saya.
sumber