2016-04-18 18 views
5

Tôi đang cố gắng để có được những Azure Hãy cắm trang web mã hóa trong làm việc cho một trong những trang web Azure của tôi theo các hướng dẫn tại địa chỉ:Azure Hãy lỗi Encrypt

https://gooroo.io/GoorooTHINK/Article/16420/Lets-Encrypt-Azure-Web-Apps-the-Free-and-Easy-Way/20047#.VxUIbKgrKUl

nhưng tôi nhận được một lỗi cho phép khi Tôi chạy nó. Tôi không biết bắt đầu từ đâu để thử và giải quyết vấn đề này và bất kỳ sự trợ giúp nào cũng sẽ được hoan nghênh hơn.

Các lỗi như sau:

Microsoft.Rest.Azure.CloudException: Khách hàng '{id}' với đối tượng id '{cùng id ở đây ??}' không có ủy quyền thực hiện thao tác 'Microsoft.Web/trang web/đọc' trên phạm vi '/ thuê bao/{thuê bao id} /resourceGroups/Default-Web-NorthEurope/providers/Microsoft.Web/sites/ {} sitename'. tại Microsoft.Azure.Management.WebSites.SitesOperations.d__29.MoveNext()

Cập nhật

Đó là một vấn đề với các nguyên tắc truy cập vào các ứng dụng web.

tôi quyết định làm theo thông qua cuộc săn lùng troy Walkthrough đây: https://www.troyhunt.com/everything-you-need-to-know-about-loading-a-free-lets-encrypt-certificate-into-an-azure-website/

Đó là khá tốt - ông sử dụng cổng thông tin xanh cũ để thiết lập các hoạt động thư mục mà tôi thấy hữu ích hơn một chút như tôi thực sự có thể nhìn thấy những gì đang diễn ra.

Dù sao tôi đã có tất cả các cách thức thông qua quá trình này phải lên đến yêu cầu chứng thực tế và bây giờ tôi nhận được một lỗi 403 máy chủ trả về:

The remote server returned an error: (403) Forbidden. 

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Net.WebException: The remote server returned an error: (403) Forbidden. 

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

Stack Trace: 


[WebException: The remote server returned an error: (403) Forbidden.] 
    System.Net.HttpWebRequest.GetResponse() +1390 
    ACMESharp.AcmeClient.RequestHttpPost(Uri uri, Object message) +642 

[AcmeWebException: Unexpected error] 
    ACMESharp.AcmeClient.AuthorizeIdentifier(String dnsIdentifier) +435 
    LetsEncrypt.SiteExtension.Core.CertificateManager.Authorize(Target target) in c:\Projects\LetsEncrypt-SiteExtension\LetsEncrypt-SiteExtension\LetsEncrypt.SiteExtension.Core\CertificateManager.cs:518 
    LetsEncrypt.SiteExtension.Core.CertificateManager.Auto(Target binding) in c:\Projects\LetsEncrypt-SiteExtension\LetsEncrypt-SiteExtension\LetsEncrypt.SiteExtension.Core\CertificateManager.cs:441 
    LetsEncrypt.SiteExtension.Core.CertificateManager.RequestAndInstallInternal(Target target) in c:\Projects\LetsEncrypt-SiteExtension\LetsEncrypt-SiteExtension\LetsEncrypt.SiteExtension.Core\CertificateManager.cs:244 
    LetsEncrypt.SiteExtension.Controllers.HomeController.Install(RequestAndInstallModel model) +604 
    lambda_method(Closure , ControllerBase , Object[]) +104 
    System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +14 
    System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +169 
    System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +27 
    System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +22 
    System.Web.Mvc.Async.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult) +29 
    System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49 
    System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +32 
    System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d() +50 
    System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +225 
    System.Web.Mvc.Async.<>c__DisplayClass33.<BeginInvokeActionMethodWithFilters>b__32(IAsyncResult asyncResult) +10 
    System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult) +10 
    System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49 
    System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +34 
    System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +26 
    System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +100 
    System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult) +10 
    System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49 
    System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27 
    System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +13 
    System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +29 
    System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49 
    System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +36 
    System.Web.Mvc.Controller.<BeginExecute>b__15(IAsyncResult asyncResult, Controller controller) +12 
    System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +22 
    System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49 
    System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +26 
    System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10 
    System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +21 
    System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +29 
    System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49 
    System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +28 
    System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9 
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9644037 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155 
+0

Tôi chưa thể giải quyết vấn đề này. Bạn đã tìm ra chưa? –

+1

Đáng buồn là không - tôi đã có tất cả các loại vấn đề với Azure vì tôi đã có đăng ký chương trình lợi ích của nhà phát triển và một đăng ký khác đang chạy cạnh nhau. Tôi đi đến kết luận rằng tôi đã chi tiêu nhiều hơn rằng chi phí mua chứng chỉ đúng lúc cố gắng phân loại và không muốn xem xét tất cả điều này mỗi lần tôi có một trang web mới cần https (đó là khá nhiều bất cứ điều gì bạn muốn được xếp hạng trong google bây giờ) Như Troy đề cập trong bài viết của mình, quá trình này cần tự động hóa thời gian lớn. –

+0

"Đã xảy ra sự cố với các nguyên tắc truy cập vào ứng dụng web". - Bạn có thể làm rõ? Đó có thể là câu trả lời cho câu hỏi ban đầu, mà rất nhiều người sẽ đến đây tìm kiếm (bao gồm cả tôi) – stuartdotnet

Trả lời

0

nó là vấn đề với các truy cập. Vui lòng kiểm tra 5. Đăng ký một phần dịch vụ chính của bài viết bạn đã đề cập. Bạn có cùng ApplicationId khi phần đó được thực hiện với ApplicationId trên trang LetsEncrypt không? Cùng một bí mật? Kiểm tra nó, bởi vì nó trông giống như một cái gì đó sai trái với bước đó.

P.S. Tôi vừa kiểm tra hướng dẫn đó mà không có lỗi bạn đã đề cập.

0

Tôi đã gặp sự cố tương tự.

Tôi giải quyết nó bằng cách không xác định miền tùy chỉnh (ví dụ lybecker.com) trong cấu hình mở rộng trang web Encrypt Azure Hãy, nhưng sử dụng đầy đủ lybecker.onmicrosoft.com

+0

Tôi không thấy nơi bạn nhập tên miền tùy chỉnh trong phần mở rộng trang web Azure Lets Encrypt. Nó đâu rồi? –

4

Đối với tôi, vấn đề này đã đưa ra khi ResourceGroup của tôi không giống với ServicePlanResourceGroup của tôi.

Vì vậy, nếu chúng không bằng nhau, bạn cần phải thêm Đăng ký ứng dụng bạn đã tạo (ClientId bạn đã tạo khóa bí mật cho) vào ServicePlanResourceGroup ngoài ResourceGroup.

4

Sau khi thêm hiệu trưởng, cần thêm nó làm "Người dùng" trong "Nhóm tài nguyên" và cấp cho nó quyền "Contrib".

Nếu bạn quên điều này, bạn sẽ nhận được thông báo lỗi ở trên.

0

Đây là những gì đã được sửa cho tôi (Tôi cũng đã nhận được ngoại lệ chính xác như OP).Làm theo hướng dẫn này https://gooroo.io/GoorooTHINK/Article/16420/Lets-Encrypt-Azure-Web-Apps-the-Free-and-Easy-Way/21872#.WWUzBoTythG khi cấu hình Letsencrypt. Chỉ định các giá trị trong các ứng dụng (thay vì tự cung cấp các giá trị cho biểu mẫu) theo cách đó bạn không phải giữ dấu kiểm để 'cập nhật cài đặt' và bạn sẽ tiến thêm một bước nữa.

Dường như ngoại lệ này tương ứng với vấn đề truy cập/lưu các giá trị vào tệp cấu hình.

Xem điều đó có hữu ích không.

1

Tôi đã gặp sự cố tương tự đối với Dịch vụ ứng dụng Azure mới. Hóa ra tôi đã thực sự triển khai một ứng dụng web trước khi chạy thuật sĩ Let's Encrypt. Khi trang đích Dịch vụ ứng dụng Azure mặc định cho một trang trống là nội dung, trình hướng dẫn không thể thực hiện công việc của nó.

+0

Tôi tự hỏi tại sao thuật sĩ sẽ không thực hiện phép thuật với trang đích mặc định. Cảm ơn bạn về thông tin! –

0

Tôi chạy vào cùng một ngoại lệ chính xác và theo các bước sau để giải quyết nó

  1. Navigate to Đăng ký ở Azure Portal
  2. Chọn đăng ký, trong đó dịch vụ App được lưu trữ
  3. Chọn Access Control (IAM)
  4. Thêm một thực thể mới
  5. Chọn vai trò Contributor
  6. kiếm sau khi Pri Dịch vụ ncipal
  7. Thêm người dùng

này ngay lập tức giải quyết ngoại trừ quyền truy cập không đủ

Cập nhật Tiếp theo steps (5. Register Service Principal) hãy chắc chắn rằng bạn đang đăng nhập vào đăng ký chính xác. Trong trường hợp của tôi, tôi đã tạo ra dịch vụ chính trong đăng ký sai do đó hiệu trưởng không được chỉ định chính xác cho Dịch vụ ứng dụng đang sử dụng

Các vấn đề liên quan