2
votes

As the title suggests I am receiving an error "Cannot read configuration file" when attempting to read a JPG file from an Azure File share mounted on a VM (from within Azure network) through a virtual directory from within IIS 7.5

This points to a permission problem - I created a local user on the web server matching the username and set the password to the Access Key of the storage service on Azure (the same credentials to access/mount the file storage share).

I set this on the app pool the vdir runs under aswell as the virtual directory properties "Physical Path Credentials" - both still return the following error:

HTTP Error 500.19 - Internal Server Error

The requested page cannot be accessed because the related configuration data for the page is invalid.

Detailed Error Information:

Module IIS Web Core

Notification BeginRequest

Handler Not yet determined

Error Code 0x80070003

Config Error Cannot read configuration file

Config File \?\X:\web.config

Requested URL http://localhost:80/myvdir/1.jpg

Physical Path X:\1.jpg

Logon Method Not yet determined

Logon User Not yet determined

Config Source: -1: 0:

So either the credentials i'm using do not match the UNC credentials or IIS does not support this.

Anyone have any ideas?

UPDATE - 2016-15-18

Solved

Thanks to Simon W and Forester123

The issue was due to the following missing steps:

  • When adding the local user I failed to add this user to the IIS_IUSRS group
  • Using the drive letter at the start of the physical path for the application. You must use the UNC path \myaccount.file.core.windows.net\sharename you cannot use a drive letter e.g. X:\

This URL (provided by Simon W) was invaluable http://blogs.iis.net/davidso/azurefile

2
Do you have a specific need to use a file share within the storage account? If not then personally I would probably be using a VHD in blob storage mounted to the VM.Martyn C
@MartynC what are the benefits to that approach?Simon_Weaver

2 Answers

3
votes

Trying to use a mapped drive is likely your issue. Take a look at how this is achieved using a UNC instead: http://blogs.iis.net/davidso/azurefile

2
votes

You need to specify the UNC path of your file share as the Physical Path property:

\\<your_storage_account>.file.core.windows.net\<your_share>

enter image description here

Using mapped drive will just give the error you encountered. Mapped drive is only for the local user session. See below test:
enter image description here enter image description here