Khi deploy project lên IIS, có thể bạn sẽ gặp lỗi này

  • 405 method not allowed
  • (No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:4200’ is therefore not allowed access.)

Sau khi mình kiểm tra thì lỗi này không liên quan gì đến CORS vì trước khi mình gặp lỗi này, mình đã thiết lập cấu hình CORS trên project API và nó hoạt động với phương thức POST và GET. Và một điều cực kỳ khó chịu là khi xảy ra lỗi này thì trong log của mình không ghi nhận được cụ thể là lỗi gì.

Mình đã tìm ra giải pháp sau ít ngày tìm hiểu và đó là một lỗi liên quan đến WebDAVModule, hình như là nó chặn các phương thức PUT và DELETE theo mặc định thì phải.

Tất cả những gì bạn cần phải làm là thêm mã sau vào web.config

<system.webServer>
  <modules runAllManagedModulesForAllRequests="false">
    <remove name="WebDAVModule" />
  </modules>
</system.webServer>code-box

 

Sau đó bạn cần restart lại site trên IIS.

Done!

Post a Comment

Mới hơn Cũ hơn