簡體   English   中英

如何為彈性 beanstalk Windows 應用程序設置文件夾權限?

[英]How can I set folder permissions for elastic beanstalk windows application?

我目前正在構建一個 C# WebApi 2 應用程序,我將上傳到 Amazon Elastic Beanstalk 實例進行部署。 到目前為止我已經成功了,在我的本地機器上,我剛剛完成了文件上傳功能的測試,以便客戶端上傳圖像。

它的方式是我接受 Web Api 中的 multipart/formdata 並將臨時文件(使用隨機名稱,如 BodyPart_24e246c7-a92a-4a3d-84ef-c1651416e667)保存到 App_Data 文件夾。 臨時文件被放入一個 S3 存儲桶中,我在我的 SQL Server 數據庫中創建了一個對它的引用。

在本地上傳單個或多個文件時,測試工作正常,但是當我將應用程序部署到 Elastic Beanstalk 並嘗試上傳時,出現類似“找不到路徑的一部分 'C:\\inetpub\\wwwroot\\sbeAPI_deploy\\App_Data\\BodyPart_8f552d48- ed9b-4ec2-9986-88cbffd673ee'”或類似的人說訪問被完全拒絕。

幾個小時以來,我一直試圖在網上找到解決方案,但 AWS 文檔到處都是,教程/其他問題似乎已經過時。 我相信這與沒有權限在 EC2 服務器上寫入臨時文件有關,但我不知道如何修復它。

首先十分感謝。

自 2013 年 4 月以來,這已經成為可能,另請參見此處:基本上您需要執行的步驟如下:

  1. 通過解決方案資源管理器在項目的頂層創建一個名為 .ebextensions 的文件夾
  2. 在此文件夾中添加您的配置文件,例如myapp.config (將 myapp 替換為您的 Elastic Beanstalk 的應用程序名稱)
  3. 將下面顯示的代碼添加到您剛剛創建的配置文件中。 MyApp替換為 Visual Studio 中顯示的項目名稱(不是解決方案名稱)
  4. 搞定!! 確保App_Data 中有一個文件,否則 Visual Studio 不會發布它。

     { "containercommands": { "01-changeperm": { "command": "icacls \\"C:/inetpub/wwwroot/MyApp_deploy/App_Data\\" /grant DefaultAppPool:(OI)(CI)" } } }

要為您的 DefaultAppPool 授予寫權限,您可以
創建一個 .ebextensions 文件夾
創建一個配置文件並將其放在您的 .ebextensions 文件夾中

這將更改您的 wwwroot 文件夾的權限

container_commands:
 01-changeperm :
  command : 'icacls "C:\\inetpub\\wwwroot" /grant "IIS APPPOOL\DefaultAppPool:(OI)(CI)F"'

我遇到了同樣的問題(無法在 Elastic Beanstalk 上寫入我的 Web 應用程序的App_Data文件夾中的文件)。

就我而言,在我的 Visual Studio 項目的App_Data文件夾中創建一個虛擬文件就足夠了。 當我這樣做時, App_Data文件夾是在部署期間創建的,具有允許 Web 應用程序寫入的權限。

.ebextensions無需更改文件夾權限。

App_Data 文件夾默認沒有寫入權限,您必須在部署應用程序期間設置適當的權限。

查看這篇文章以獲取有關如何執行此操作的詳細說明: http : //thedeveloperspace.com/granting-write-access-to-asp-net-apps-hosted-on-aws-beanstalk/

這個問題已經很老了,但對於最終遇到同樣問題的其他人來說。 我在 AWS 上遇到了同樣的問題。 連接到您的實例並更改要將文件上傳到的文件夾的屬性。 選擇要授予讀/寫訪問權限的文件夾。 單擊屬性並以這種方式設置權限。

我的問題是將圖像上傳到服務器。 我不能把它放在 App_Data 文件夾中,因為這是一個專為應用程序保留的特別優惠,我需要可以通過 URL 訪問圖像。 所以我創建了另一個文件夾“上傳”。 發布我的 api,然后通過遠程桌面連接到實例。 找到 Content 文件夾,並將 DefaultAppPool 的屬性設置為讀/寫。 這解決了我的問題,希望這可以幫助那里的人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM