ASP.NET Core: Biến môi trường và cài đặt ứng dụng trong App Service Azure


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Trong App Service Azure, một số cài đặt nhất định có sẵn cho môi trường triển khai hoặc thời gian chạy dưới dạng biến môi trường. Một số cài đặt này có thể được tùy chỉnh khi bạn đặt chúng theo cách thủ công làm cài đặt ứng dụng. Tham chiếu này hiển thị các biến bạn có thể sử dụng hoặc tùy chỉnh.

Môi trường ứng dụng

Các biến môi trường sau có liên quan đến môi trường ứng dụng nói chung.

Đặt tên Mô tả Ví dụ
WEBSITE_SITE_NAME Chỉ đọc. Tên ứng dụng.  
WEBSITE_RESOURCE_GROUP Chỉ đọc. Tên nhóm tài nguyên Azure chứa tài nguyên ứng dụng.  
WEBSITE_OWNER_NAME Chỉ đọc. Chứa ID đăng ký Azure sở hữu ứng dụng, nhóm tài nguyên và không gian web.  
REGION_NAME Chỉ đọc. Tên khu vực của ứng dụng.  
WEBSITE_PLATFORM_VERSION Chỉ đọc. Phiên bản nền tảng App Service.  
HOME Chỉ đọc. Đường dẫn đến thư mục chính (ví dụ: D:\home đối với Windows).  
SERVER_PORT Chỉ đọc. Cổng mà ứng dụng sẽ lắng nghe.  
WEBSITE_WARMUP_PATH Đường dẫn tương đối tới lệnh ping để khởi động ứng dụng, bắt đầu bằng dấu gạch chéo. Giá trị mặc định là /, ping cho đường dẫn gốc. Một ứng dụng khách chưa được xác thực, chẳng hạn như Azure Traffic Manager, có thể ping đường dẫn cụ thể, ngay cả khi xác thực App Service được đặt để từ chối các ứng dụng khách chưa được xác thực. (LƯU Ý: Cài đặt ứng dụng này không thay đổi đường dẫn được AlwaysOn sử dụng.)  
WEBSITE_COMPUTE_MODE Chỉ đọc. Chỉ định xem ứng dụng chạy trên VM/s chuyên dụng (Dedicated) hay chia sẻ (Shared).  
WEBSITE_SKU Chỉ đọc. SKU của ứng dụng. Các giá trị có thể là FreeSharedBasic, và Standard.  
SITE_BITNESS Chỉ đọc. Cho biết ứng dụng là 32-bit (x86) hay 64-bit (AMD64).  
WEBSITE_HOSTNAME Chỉ đọc. Tên máy chủ chính cho ứng dụng. Tên máy chủ tùy chỉnh không được tính ở đây.  
WEBSITE_VOLUME_TYPE Chỉ đọc. Hiển thị loại dung lượng lưu trữ hiện đang được sử dụng.  
WEBSITE_NPM_DEFAULT_VERSION Phiên bản npm mặc định mà ứng dụng đang sử dụng.  
WEBSOCKET_CONCURRENT_REQUEST_LIMIT Chỉ đọc. Giới hạn cho các yêu cầu đồng thời của websocket. Đối với bậc Standard trở lên, giá trị là -1, nhưng vẫn có giới hạn trên mỗi VM dựa trên kích thước VM của bạn (xem Giới hạn số VM chéo).  
WEBSITE_PRIVATE_EXTENSIONS Đặt thành 0 để vô hiệu hóa việc sử dụng tiện ích mở rộng trang web riêng tư.  
WEBSITE_TIME_ZONE Theo mặc định, múi giờ cho ứng dụng luôn là UTC. Bạn có thể thay đổi nó thành bất kỳ giá trị hợp lệ nào được liệt kê trong TimeZone. Nếu giá trị đã chỉ định không được nhận dạng, thì UTC sẽ được sử dụng. Atlantic Standard Time
WEBSITE_ADD_SITENAME_BINDINGS_IN_APPHOST_CONFIG Sau khi hoán đổi vị trí, ứng dụng có thể gặp sự cố khởi động lại không mong muốn. Điều này là do sau khi hoán đổi, cấu hình liên kết tên máy chủ không đồng bộ, bản thân cấu hình này không gây ra khởi động lại. Tuy nhiên, một số sự kiện lưu trữ cơ bản (chẳng hạn như chuyển đổi dự phòng dung lượng lưu trữ) có thể phát hiện những khác biệt này và buộc tất cả các quy trình riêng biệt phải khởi động lại. Để giảm thiểu các kiểu khởi động lại này, hãy đặt giá trị cài đặt ứng dụng thành 1 trên tất cả các vị trí (mặc định là 0). Tuy nhiên, không đặt giá trị này nếu bạn đang chạy ứng dụng Windows Communication Foundation (WCF). Để biết thêm thông tin, hãy xem Khắc phục sự cố hoán đổi  
WEBSITE_PROACTIVE_AUTOHEAL_ENABLED Theo mặc định, một phiên bản máy ảo được "tự động sửa chữa" chủ động khi phiên bản đó đang sử dụng hơn 90% bộ nhớ được phân bổ trong hơn 30 giây hoặc khi 80% tổng số yêu cầu trong hai phút qua mất hơn 200 giây. Nếu một phiên bản VM đã kích hoạt một trong các quy tắc này, thì quá trình khôi phục là quá trình khởi động lại phiên bản chồng chéo của phiên bản. Đặt thành false để tắt hành vi khôi phục này. Mặc định là true. Để biết thêm thông tin, hãy xem Chủ động Tự động Hồi phục.  
WEBSITE_PROACTIVE_CRASHMONITORING_ENABLED Bất cứ khi nào quy trình w3wp.exe trên một phiên bản VM của ứng dụng của bạn gặp sự cố do một ngoại lệ chưa được xử lý hơn ba lần trong 24 giờ, một quy trình trình gỡ lỗi sẽ được gắn vào quy trình worker chính trên phiên bản đó và thu thập kết xuất bộ nhớ khi worker quá trình gặp sự cố một lần nữa. Kết xuất bộ nhớ này sau đó được phân tích và ngăn xếp cuộc gọi của chuỗi gây ra sự cố được ghi vào nhật ký App Service của bạn. Đặt thành false để tắt hành vi giám sát tự động này. Mặc định là true. Để biết thêm thông tin, hãy xem Giám sát sự cố chủ động.  
WEBSITE_DAAS_STORAGE_SASURI Trong quá trình giám sát sự cố (chủ động hoặc thủ công), các kết xuất bộ nhớ sẽ bị xóa theo mặc định. Để lưu kết xuất bộ nhớ vào bộ chứa blob lưu trữ, hãy chỉ định URI SAS.  
WEBSITE_CRASHMONITORING_ENABLED Đặt thành true để bật giám sát sự cố theo cách thủ công. Bạn cũng phải đặt WEBSITE_DAAS_STORAGE_SASURI và WEBSITE_CRASHMONITORING_SETTINGS. Mặc định là false. Cài đặt này không có hiệu lực nếu gỡ lỗi từ xa được bật. Ngoài ra, nếu cài đặt này được đặt thành truegiám sát sự cố chủ động sẽ bị tắt.  
WEBSITE_CRASHMONITORING_SETTINGS Một JSON có định dạng sau: {"StartTimeUtc": "2020-02-10T08:21","MaxHours": "<elapsed-hours-from-StartTimeUtc>","MaxDumpCount": "<max-number-of-crash-dumps>"}. Bắt buộc phải định cấu hình giám sát sự cố nếu WEBSITE_CRASHMONITORING_ENABLED được chỉ định. Để chỉ ghi nhật ký ngăn xếp cuộc gọi mà không lưu kết xuất sự cố trong tài khoản lưu trữ, hãy thêm ,"UseStorageAccount":"false" trong JSON.  
REMOTEDEBUGGINGVERSION Phiên bản gỡ lỗi từ xa.  
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING Theo mặc định, App Service tạo bộ nhớ dùng chung cho bạn khi tạo ứng dụng. Thay vào đó, để sử dụng tài khoản lưu trữ tùy chỉnh, hãy đặt thành chuỗi kết nối của tài khoản lưu trữ của bạn. Đối với các chức năng, hãy xem Tham khảo cài đặt ứng dụng cho Hàm. DefaultEndpointsProtocol=https;AccountName=<name>;AccountKey=<key>
WEBSITE_CONTENTSHARE Khi bạn sử dụng chỉ định tài khoản lưu trữ tùy chỉnh với WEBSITE_CONTENTAZUREFILECONNECTIONSTRING, thì App Service sẽ tạo tệp chia sẻ trong tài khoản lưu trữ đó cho ứng dụng của bạn. Để sử dụng tên tùy chỉnh, hãy đặt biến này thành tên bạn muốn. Nếu tệp chia sẻ có tên đã chỉ định không tồn tại, App Service sẽ tạo tệp đó cho bạn. myapp123
WEBSITE_SCM_ALWAYS_ON_ENABLED Chỉ đọc. Cho biết Luôn bật có được bật (1) hay không (0).  
WEBSITE_SCM_SEPARATE_STATUS Chỉ đọc. Cho biết liệu ứng dụng Kudu có đang chạy trong một quy trình riêng biệt (1) hay không (0).  
WEBSITE_DNS_ATTEMPTS Số lần thử phân giải tên.  
WEBSITE_DNS_TIMEOUT Số giây để chờ giải quyết tên  

Tiền tố biến

Bảng sau đây hiển thị các tiền tố biến môi trường mà App Service sử dụng cho các mục đích khác nhau.

Đặt tên Mô tả
APPSETTING_ Biểu thị rằng một biến được khách hàng đặt làm cài đặt ứng dụng trong cấu hình ứng dụng. Nó được đưa vào ứng dụng .NET dưới dạng cài đặt ứng dụng.
MAINSITE_ Biểu thị một biến là dành riêng cho chính ứng dụng đó.
SCMSITE_ Biểu thị một biến dành riêng cho ứng dụng Kudu.
SQLCONNSTR_ Biểu thị chuỗi kết nối SQL Server trong cấu hình ứng dụng. Nó được đưa vào ứng dụng .NET dưới dạng chuỗi kết nối.
SQLAZURECONNSTR_ Biểu thị chuỗi kết nối Cơ sở dữ liệu Azure SQL trong cấu hình ứng dụng. Nó được đưa vào ứng dụng .NET dưới dạng chuỗi kết nối.
POSTGRESQLCONNSTR_ Biểu thị chuỗi kết nối PostgreSQL trong cấu hình ứng dụng. Nó được đưa vào ứng dụng .NET dưới dạng chuỗi kết nối.
CUSTOMCONNSTR_ Biểu thị một chuỗi kết nối tùy chỉnh trong cấu hình ứng dụng. Nó được đưa vào ứng dụng .NET dưới dạng chuỗi kết nối.
MYSQLCONNSTR_ Biểu thị chuỗi kết nối Cơ sở dữ liệu MySQL trong cấu hình ứng dụng. Nó được đưa vào ứng dụng .NET dưới dạng chuỗi kết nối.
AZUREFILESSTORAGE_ Chuỗi kết nối tới chia sẻ tùy chỉnh cho vùng chứa tùy chỉnh trong Azure Files.
AZUREBLOBSTORAGE_ Chuỗi kết nối tới tài khoản lưu trữ tùy chỉnh cho vùng chứa tùy chỉnh trong Azure Blob Storage.
NOTIFICATIONHUBCONNSTR_ Biểu thị một chuỗi kết nối đến một trung tâm thông báo trong Azure Notification Hubs.
SERVICEBUSCONNSTR_ Biểu thị một chuỗi kết nối với một phiên bản của Azure Service Bus.
EVENTHUBCONNSTR_ Biểu thị một chuỗi kết nối đến một trung tâm sự kiện trong Azure Event Hubs.
DOCDBCONNSTR_ Biểu thị một chuỗi kết nối tới cơ sở dữ liệu trong Azure Cosmos DB.
REDISCACHECONNSTR_ Biểu thị một chuỗi kết nối tới bộ đệm trong Azure Cache for Redis.
FILESHARESTORAGE_ Biểu thị một chuỗi kết nối để chia sẻ tệp tùy chỉnh.

Triển khai

Các biến môi trường sau có liên quan đến việc triển khai ứng dụng. Để biết các biến liên quan đến tự động hóa bản dựng App Service, hãy xem Tự động hóa bản dựng.

Đặt tên Mô tả
DEPLOYMENT_BRANCH Để triển khai Git cục bộ hoặc Git trên đám mây (chẳng hạn như GitHub), hãy đặt thành nhánh trong Azure mà bạn muốn triển khai. Theo mặc định, nó là master.
WEBSITE_RUN_FROM_PACKAGE Đặt thành 1 để chạy ứng dụng từ gói ZIP cục bộ hoặc đặt thành URL của URL bên ngoài để chạy ứng dụng từ gói ZIP từ xa. Để biết thêm thông tin, hãy xem Chạy ứng dụng của bạn trong App Service Azure trực tiếp từ gói ZIP.
WEBSITE_USE_ZIP Không dùng nữa. Sử dụng WEBSITE_RUN_FROM_PACKAGE.
WEBSITE_RUN_FROM_ZIP Không dùng nữa. Sử dụng WEBSITE_RUN_FROM_PACKAGE.
WEBSITE_WEBDEPLOY_USE_SCM Đặt thành false để WebDeploy ngừng sử dụng công cụ triển khai Kudu. Mặc định là true. Để triển khai cho các ứng dụng Linux bằng Visual Studio (WebDeploy/MSDeploy), hãy đặt thành false.
MSDEPLOY_RENAME_LOCKED_FILES Đặt thành 1 để cố gắng đổi tên DLL nếu không thể sao chép chúng trong quá trình triển khai WebDeploy. Cài đặt này không áp dụng nếu WEBSITE_WEBDEPLOY_USE_SCM được đặt thành false.
WEBSITE_DISABLE_SCM_SEPARATION Theo mặc định, ứng dụng chính và ứng dụng Kudu chạy trong các hộp cát khác nhau. Khi bạn dừng ứng dụng, ứng dụng Kudu vẫn chạy và bạn có thể tiếp tục sử dụng Git triển khai và MSDeploy. Mỗi ứng dụng có các tệp cục bộ riêng. Tắt sự tách biệt này (cài đặt thành true) là một chế độ cũ không còn được hỗ trợ đầy đủ nữa.
WEBSITE_ENABLE_SYNC_UPDATE_SITE Đặt thành 1 để đảm bảo rằng các lệnh gọi API REST để cập nhật site và siteconfig được áp dụng hoàn toàn cho tất cả các phiên bản trước khi quay lại. Giá trị mặc định là 1 nếu triển khai với mẫu ARM, để tránh điều kiện tương tranh với các lệnh gọi ARM tiếp theo.
WEBSITE_START_SCM_ON_SITE_CREATION Trong quá trình triển khai mẫu ARM, hãy đặt thành 1 trong mẫu ARM để khởi động trước ứng dụng Kudu như một phần của quá trình tạo ứng dụng.
WEBSITE_START_SCM_WITH_PRELOAD Đối với các ứng dụng Linux, hãy đặt thành truebuộc tải trước ứng dụng Kudu khi Luôn bật được bật bằng cách ping URL của ứng dụng đó. Mặc định là false. Đối với các ứng dụng Windows, ứng dụng Kudu luôn được tải sẵn.

Xây dựng tự động hóa

Với Kudu (Windows)

Cấu hình bản dựng Kudu áp dụng cho các ứng dụng Windows gốc và được sử dụng để kiểm soát hành vi triển khai dựa trên Git (hoặc dựa trên ZIP).

Đặt tên Mô tả Ví dụ
SCM_BUILD_ARGS Thêm các thứ vào cuối dòng lệnh msbuild, sao cho nó ghi đè bất kỳ phần nào trước đó của dòng lệnh mặc định. Để thực hiện một bản dựng sạch: -t:Clean;Compile
SCM_SCRIPT_GENERATOR_ARGS Kudu sử dụng lệnh azure site deploymentscript được mô tả tại đây để tạo tập lệnh triển khai. Nó tự động phát hiện loại khung ngôn ngữ và xác định các tham số để truyền cho lệnh. Cài đặt này sẽ ghi đè các tham số được tạo tự động. Để coi kho lưu trữ của bạn là tệp nội dung đơn giản: --basic -p <folder-to-deploy>
SCM_TRACE_LEVEL Xây dựng cấp độ vết. Mặc định là 1. Đặt thành giá trị cao hơn, tối đa là 4, để theo dõi nhiều hơn. 4
SCM_COMMAND_IDLE_TIMEOUT Hết thời gian tính bằng giây cho mỗi lệnh mà quá trình xây dựng khởi chạy để đợi trước đó mà không tạo ra bất kỳ đầu ra nào. Sau đó, lệnh được coi là nhàn rỗi và bị kill. Mặc định là 60 (một phút). Trong Azure, cũng có thời gian chờ yêu cầu nhàn rỗi chung sẽ ngắt kết nối máy khách sau 230 giây. Tuy nhiên, lệnh vẫn sẽ tiếp tục chạy phía máy chủ sau đó.  
SCM_LOGSTREAM_TIMEOUT Hết thời gian không hoạt động trong vài giây trước khi dừng truyền phát nhật ký. Mặc định là 1800 (30 phút).  
SCM_SITEEXTENSIONS_FEED_URL URL của thư viện tiện ích mở rộng trang web. Mặc định là https://www.nuget.org/api/v2/. URL của nguồn cấp dữ liệu cũ là http://www.siteextensions.net/api/v2/.  
SCM_USE_LIBGIT2SHARP_REPOSITORY Đặt thành 0 sử dụng git.exe thay vì libgit2sharp cho các thao tác git.  
WEBSITE_LOAD_USER_PROFILE Trong trường hợp xảy ra lỗi The specified user does not have a valid profile.trong quá trình tự động hóa bản dựng ASP.NET (chẳng hạn như trong quá trình triển khai Git), hãy đặt biến này thành 1 để tải đầy đủ hồ sơ người dùng trong môi trường bản dựng. Cài đặt này chỉ được áp dụng khi WEBSITE_COMPUTE_MODE là Dedicated.  
WEBSITE_SCM_IDLE_TIMEOUT_IN_MINUTES Hết thời gian chờ trong vài phút đối với trang web SCM (Kudu). Mặc định là 20.  
SCM_DO_BUILD_DURING_DEPLOYMENT Với triển khai ZIP, công cụ triển khai giả định rằng tệp ZIP đã sẵn sàng để chạy nguyên trạng và không chạy bất kỳ quá trình tự động hóa bản dựng nào. Để bật tính năng tự động hóa bản dựng giống như trong triển khai Git, hãy đặt thành true.

Với Oryx (Linux)

Cấu hình bản dựng Oryx áp dụng cho các ứng dụng Linux và được sử dụng để kiểm soát hành vi triển khai dựa trên Git (hoặc dựa trên ZIP). Xem cấu hình Oryx.

Cài đặt dành riêng cho ngôn ngữ

Phần này hiển thị cài đặt thời gian chạy có thể định cấu hình cho từng khung ngôn ngữ được hỗ trợ. Cài đặt bổ sung có sẵn trong quá trình tự động hóa bản dựng tại thời điểm triển khai.

Với .NET

Đặt tên Mô tả
PORT Chỉ đọc. Đối với các ứng dụng Linux, hãy chuyển mà thời gian chạy .NET lắng nghe trong vùng chứa.
WEBSITE_ROLE_INSTANCE_ID Chỉ đọc. ID của phiên bản hiện tại.
HOME Chỉ đọc. Thư mục trỏ đến bộ nhớ dùng chung (/home).
DUMP_DIR Chỉ đọc. Thư mục cho các bãi chứa sự cố (home/logs/dumps).
APP_SVC_RUN_FROM_COPY Chỉ các ứng dụng Linux. Theo mặc định, ứng dụng được chạy từ /home/site/wwwroot, một thư mục dùng chung cho tất cả các phiên bản thu nhỏ. Đặt biến này thành true để sao chép ứng dụng vào thư mục cục bộ trong vùng chứa của bạn và chạy ứng dụng từ đó. Khi sử dụng tùy chọn này, hãy đảm bảo không mã hóa cứng bất kỳ tham chiếu nào đến /home/site/wwwroot. Thay vào đó, hãy sử dụng đường dẫn liên quan đến /home/site/wwwroot.
MACHINEKEY_Decryption Đối với các ứng dụng gốc của Windows hoặc ứng dụng trong bộ chứa Windows, biến này được đưa vào môi trường ứng dụng hoặc bộ chứa để bật các quy trình mã hóa ASP.NET (xem Phần tử machineKey. Để ghi đè giá trị mặc định decryption, hãy định cấu hình giá trị đó làm cài đặt ứng dụng App Service hoặc đặt giá trị đó trực tiếp trong phần tử machineKey của file Web.config.
MACHINEKEY_DecryptionKey Đối với các ứng dụng gốc của Windows hoặc ứng dụng trong bộ chứa Windows, biến này được đưa vào môi trường ứng dụng hoặc bộ chứa để bật quy trình mã hóa ASP.NET (xem Phần tử machineKey. Để ghi đè giá trị được tạo tự động decryptionKey, hãy định cấu hình giá trị đó làm cài đặt ứng dụng App Service hoặc đặt giá trị đó trực tiếp trong phần tử machineKey của tệp Web.config.
MACHINEKEY_Validation Đối với các ứng dụng gốc của Windows hoặc ứng dụng trong bộ chứa Windows, biến này được đưa vào môi trường ứng dụng hoặc bộ chứa để bật các quy trình mã hóa ASP.NET (xem Phần tử machineKey. Để ghi đè giá trị mặc định validation, hãy định cấu hình giá trị đó làm cài đặt ứng dụng App Service hoặc đặt trực tiếp trong phần tử machineKey của tệp Web.config.
MACHINEKEY_ValidationKey Đối với các ứng dụng gốc của Windows hoặc ứng dụng trong bộ chứa Windows, biến này được đưa vào môi trường ứng dụng hoặc bộ chứa để bật quy trình mã hóa ASP.NET (xem Phần tử machineKey. Để ghi đè giá trị được tạo tự động validationKey, hãy định cấu hình giá trị đó làm cài đặt ứng dụng App Service hoặc đặt giá trị đó trực tiếp trong phần tử machineKey của tệp Web.config.

Với Java

Đặt tên Mô tả Ví dụ
JAVA_HOME Đường dẫn thư mục cài đặt Java  
JAVA_OPTS Đối với các ứng dụng Java SE, các biến môi trường được truyền vào lệnh java. Có thể chứa các biến hệ thống. Đối với Tomcat, hãy sử dụng CATALINA_OPTS. -Dmysysproperty=%DRIVEPATH%
AZURE_JAVA_APP_PATH Biến môi trường có thể được sử dụng bởi tập lệnh tùy chỉnh để chúng có vị trí cho app.jar sau khi được sao chép vào cục bộ.  
SKIP_JAVA_KEYSTORE_LOAD giá trị của 1 để vô hiệu hóa App Service tự động tải chứng chỉ vào kho lưu trữ khóa  
WEBSITE_JAVA_JAR_FILE_NAME Tệp .jar để sử dụng. Nối thêm .jar nếu chuỗi không kết thúc bằng .jar. Mặc định là app.jar  
WEBSITE_JAVA_WAR_FILE_NAME Tệp .war để sử dụng. Nối thêm .war nếu chuỗi không kết thúc bằng .war. Mặc định cho app.war  
JAVA_ARGS Lựa chọn java được yêu cầu bởi máy chủ web java khác nhau. Mặc định là-noverify -Djava.net.preferIPv4Stack=true  
JAVA_WEBSERVER_PORT_ENVIRONMENT_VARIABLES Các biến môi trường được sử dụng bởi các khung web Java phổ biến cho cổng máy chủ. Một số khung bao gồm: Spring, Micronaut, Grails, MicroProfile Thorntail, Helidon, Ratpack và Quarkus  
JAVA_TMP_DIR Đã thêm vào Java đối số là -Dsite.tempdir. Mặc định là TEMP.  
WEBSITE_SKIP_LOCAL_COPY Theo mặc định, app.jar đã triển khai được sao chép từ /home/site/wwwroo tới một vị trí cục bộ. Để tắt hành vi này và tải app.jar trực tiếp từ /home/site/wwwroot, hãy đặt biến này thành 1 hoặc true. Cài đặt này không có hiệu lực nếu bộ nhớ đệm cục bộ được bật.  
TOMCAT_USE_STARTUP_BAT Chỉ các ứng dụng Windows gốc. Theo mặc định, máy chủ Tomcat được bắt đầu với tệp startup.bat. Để bắt đầu sử dụng catalina.bat thay vào đó, hãy đặt thành 0 hoặc False. %LOCAL_EXPANDED%\tomcat
CATALINA_OPTS Đối với các ứng dụng Tomcat, các biến môi trường được truyền vào lệnh java. Có thể chứa các biến hệ thống.  
CATALINA_BASE Để sử dụng cài đặt Tomcat tùy chỉnh, hãy đặt thành vị trí cài đặt.  
WEBSITE_JAVA_MAX_HEAP_MB Heap tối đa của Java tính bằng MB. Cài đặt này chỉ có hiệu lực khi sử dụng phiên bản Tomcat thử nghiệm.  
WEBSITE_DISABLE_JAVA_HEAP_CONFIGURATION Tắt thủ công WEBSITE_JAVA_MAX_HEAP_MB bằng cách đặt biến này thành true hoặc 1.  
WEBSITE_AUTH_SKIP_PRINCIPAL Theo mặc định, giao diện Tomcat HttpServletRequest sau đây được cấp nước khi bạn bật xác thực tích hợp sẵn : isSecuregetRemoteAddrgetRemoteHostgetSchemegetServerPort. Để tắt nó, hãy đặt thành 1.  
WEBSITE_SKIP_FILTERS Để tắt tất cả bộ lọc servlet do App Service thêm, hãy đặt thành 1.  
IGNORE_CATALINA_BASE Theo mặc định, App Service sẽ kiểm tra xem biến Tomcat CATALINA_BASE có được xác định hay không. Nếu không, nó tìm kiếm sự tồn tại của %HOME%\tomcat\conf\server.xml. Nếu tệp tồn tại, nó sẽ đặt CATALINA_BASEthành %HOME%\tomcat. Để vô hiệu hóa hành vi này và loại bỏ CATALINA_BASE, hãy đặt biến này thành 1 hoặc true.  
PORT Chỉ đọc. Đối với các ứng dụng Linux, chuyển mà thời gian chạy Java lắng nghe trong vùng chứa.  
WILDFLY_VERSION Chỉ đọc. Đối với các ứng dụng JBoss (Linux), phiên bản WildFly.  
TOMCAT_VERSION Chỉ đọc. Đối với ứng dụng Linux Tomcat, phiên bản Tomcat.  
JBOSS_HOME Chỉ đọc. Đối với ứng dụng JBoss (Linux), đường dẫn cài đặt WildFly.  
AZURE_JETTY9_CMDLINE Chỉ đọc. Đối với các ứng dụng Windows gốc, các đối số dòng lệnh để khởi động Jetty 9.  
AZURE_JETTY9_HOME Chỉ đọc. Đối với các ứng dụng Windows gốc, đường dẫn đến cài đặt Jetty 9.  
AZURE_JETTY93_CMDLINE Chỉ đọc. Đối với các ứng dụng Windows gốc, các đối số dòng lệnh để khởi động Jetty 9.3.  
AZURE_JETTY93_HOME Chỉ đọc. Đối với các ứng dụng Windows gốc, hãy dẫn đến cài đặt Jetty 9.3.  
AZURE_TOMCAT7_CMDLINE Chỉ đọc. Đối với các ứng dụng Windows gốc, các đối số dòng lệnh để bắt đầu Tomcat 7.  
AZURE_TOMCAT7_HOME Chỉ đọc. Đối với các ứng dụng Windows gốc, đường dẫn đến bản cài đặt Tomcat 7.  
AZURE_TOMCAT8_CMDLINE Chỉ đọc. Đối với các ứng dụng Windows gốc, các đối số dòng lệnh để bắt đầu Tomcat 8.  
AZURE_TOMCAT8_HOME Chỉ đọc. Đối với các ứng dụng Windows gốc, đường dẫn đến bản cài đặt Tomcat 8.  
AZURE_TOMCAT85_CMDLINE Chỉ đọc. Đối với các ứng dụng Windows gốc, các đối số dòng lệnh để bắt đầu Tomcat 8.5.  
AZURE_TOMCAT85_HOME Chỉ đọc. Đối với các ứng dụng Windows gốc, đường dẫn đến bản cài đặt Tomcat 8.5.  
AZURE_TOMCAT90_CMDLINE Chỉ đọc. Đối với các ứng dụng Windows gốc, các đối số dòng lệnh để bắt đầu Tomcat 9.  
AZURE_TOMCAT90_HOME Chỉ đọc. Đối với các ứng dụng Windows gốc, đường dẫn đến bản cài đặt Tomcat 9.  
AZURE_SITE_HOME Giá trị được thêm vào đối số Java là -Dsite.home. Giá trị mặc định là giá trị của HOME.  
HTTP_PLATFORM_PORT Đã thêm vào Java đối số -Dport.http. Các biến môi trường sau được sử dụng bởi các framework web Java khác nhau cũng được đặt thành giá trị này: SERVER_PORTMICRONAUT_SERVER_PORTTHORNTAIL_HTTP_PORTRATPACK_PORTQUARKUS_HTTP_PORTPAYARAMICRO_PORT.  
AZURE_LOGGING_DIR Đối với Ứng dụng Windows, được thêm vào Java đối số -Dsite.logdir. Mặc định là %HOME%\LogFiles\. Giá trị mặc định trong Linux là AZURE_LOGGING_DIR=/home/LogFiles.
 

Node.js

Đặt tên Sự miêu tả
PORT Chỉ đọc. Đối với các ứng dụng Linux, hãy chuyển ứng dụng Node.js lắng nghe trong vùng chứa.
WEBSITE_ROLE_INSTANCE_ID Chỉ đọc. ID của phiên bản hiện tại.
PM2HOME  
WEBSITE_NODE_DEFAULT_VERSION Đối với các ứng dụng Windows gốc, phiên bản nút mặc định mà ứng dụng đang sử dụng. Bất kỳ phiên bản Node.js nào được hỗ trợ đều có thể được sử dụng tại đây.

Python

Đặt tên Sự miêu tả
APPSVC_VIRTUAL_ENV Chỉ đọc.
PORT Chỉ đọc. Đối với các ứng dụng Linux, hãy chuyển ứng dụng Python lắng nghe trong vùng chứa.

PHP

Đặt tên Sự miêu tả Ví dụ
PHP_Extensions Danh sách các phần mở rộng PHP được phân tách bằng dấu phẩy. extension1.dll,extension2.dll,Name1=value1
PHP_ZENDEXTENSIONS Đối với các ứng dụng Linux, hãy đặt thành xdebug để sử dụng phiên bản XDebug của bộ chứa PHP.  
PHP_VERSION Chỉ đọc. Phiên bản PHP đã chọn.  
WEBSITE_PORT Chỉ đọc. Cổng mà máy chủ Apache lắng nghe trong vùng chứa.  
WEBSITE_ROLE_INSTANCE_ID Chỉ đọc. ID của phiên bản hiện tại.  
WEBSITE_PROFILER_ENABLE_TRIGGER Đặt thành TRUE để thêm xdebug.profiler_enable_trigger=1 và xdebug.profiler_enable=0 thành mặc định php.ini.

Ruby

Đặt tên Sự miêu tả Ví dụ
PORT Chỉ đọc. Cổng mà ứng dụng Rails lắng nghe trong vùng chứa.  
WEBSITE_ROLE_INSTANCE_ID Chỉ đọc. ID của phiên bản hiện tại.  
RAILS_IGNORE_SPLASH Theo mặc định, một trang giật gân mặc định được hiển thị khi không tìm thấy Gemfile. Đặt biến này thành bất kỳ giá trị nào để tắt trang giật gân.  
BUNDLE_WITHOUT Để thêm tùy chọn --without vào bundle install, hãy đặt biến thành các nhóm bạn muốn loại trừ, phân tách bằng dấu cách. Theo mặc định, tất cả Ruby đã được cài đặt. test development
BUNDLE_INSTALL_LOCATION Thư mục để cài đặt đá quý. Mặc định là /tmp/bundle.  
RUBY_SITE_CONFIG_DIR Thư mục cấu hình trang web. Mặc định là /home/site/config. Vùng chứa kiểm tra các viên ngọc được nén trong thư mục này.  
SECRET_KEY_BASE Theo mặc định, cơ sở khóa bí mật ngẫu nhiên được tạo. Để sử dụng cơ sở khóa bí mật tùy chỉnh, hãy đặt biến này thành cơ sở khóa mong muốn.  
RAILS_ENV Môi trường rails. Mặc định là production.  
GEM_PRISTINE Đặt biến này thành bất kỳ giá trị nào để chạy gem pristine --all.

WordPress

Cài đặt ứng dụng Phạm vi Giá trị Tối đa Mô tả
WEBSITES_ENABLE_APP_SERVICE_STORAGE ứng dụng web ĐÚNG VẬY - Khi được đặt thành TRUE, nội dung tệp được giữ nguyên trong quá trình khởi động lại.
WP_MEMORY_LIMIT WordPress 128M 512M Giới hạn bộ nhớ PHP của giao diện người dùng hoặc wordpress chung (mỗi tập lệnh). Không thể nhiều hơn PHP_MEMORY_LIMIT
WP_MAX_MEMORY_LIMIT WordPress 256M 512M Bảng điều khiển dành cho quản trị viên Giới hạn bộ nhớ PHP (mỗi tập lệnh). Nói chung, các tập lệnh bảng điều khiển/phụ trợ của quản trị viên chiếm nhiều bộ nhớ so với các tập lệnh giao diện người dùng. Không thể nhiều hơn PHP_MEMORY_LIMIT.
PHP_MEMORY_LIMIT PHP 512M 512M Giới hạn bộ nhớ cho tập lệnh PHP chung. Nó chỉ có thể được giảm.
FILE_UPLOADS PHP TRÊN - Có thể là On hoặc Off. Lưu ý rằng các giá trị phân biệt chữ hoa chữ thường. Tác dụng cho phép hoặc không cho phép tải lên tệp.
UPLOAD_MAX_FILESIZE PHP 50M Giới hạn kích thước tệp tải lên tối đa 256M. Có thể tăng lên tới 256M.  
POST_MAX_SIZE PHP 128M 256M Có thể tăng lên tới 256M. Nói chung phải nhiều hơn UPLOAD_MAX_FILESIZE.
MAX_EXECUTION_TIME PHP 120 120 Chỉ có thể giảm xuống. Vui lòng chia nhỏ các tập lệnh nếu mất hơn 120 giây. Đã thêm để tránh các tập lệnh xấu làm chậm hệ thống.
MAX_INPUT_TIME PHP 120 120 Giới hạn thời gian tối đa để phân tích cú pháp các yêu cầu đầu vào. Chỉ có thể giảm xuống.
MAX_INPUT_VARS PHP 10000 10000 -
CƠ SỞ DỮ LIỆU_HOST cơ sở dữ liệu - - Máy chủ lưu trữ cơ sở dữ liệu được sử dụng để kết nối với WordPress.
TÊN CƠ SỞ DỮ LIỆU cơ sở dữ liệu - - Tên cơ sở dữ liệu được sử dụng để kết nối với WordPress.
DATABASE_USERNAME cơ sở dữ liệu - - Tên người dùng cơ sở dữ liệu được sử dụng để kết nối với WordPress.
DATABASE_PASSWORD cơ sở dữ liệu - - Mật khẩu cơ sở dữ liệu được sử dụng để kết nối với cơ sở dữ liệu MySQL. Để thay đổi mật khẩu cơ sở dữ liệu MySQL, hãy xem cập nhật mật khẩu quản trị viên . Bất cứ khi nào mật khẩu cơ sở dữ liệu MySQL được thay đổi, Cài đặt ứng dụng cũng cần được cập nhật.
WORDPRESS_ADMIN_EMAIL Chỉ triển khai - - Email quản trị viên WordPress.
WORDPRESS_ADMIN_PASSWORD Chỉ triển khai - - Mật khẩu quản trị WordPress. Điều này chỉ dành cho mục đích triển khai. Việc sửa đổi giá trị này không ảnh hưởng đến quá trình cài đặt WordPress. Để thay đổi mật khẩu quản trị viên WordPress, hãy xem đặt lại mật khẩu của bạn.
WORDPRESS_ADMIN_USER Chỉ triển khai - - tên người dùng quản trị viên WordPress
WORDPRESS_ADMIN_LOCALE_CODE Chỉ triển khai - - Tên người dùng cơ sở dữ liệu được sử dụng để kết nối với WordPress.

Tên miền và DNS

Đặt tên Mô tả Ví dụ
WEBSITE_DNS_SERVER Địa chỉ IP của máy chủ DNS chính cho các kết nối gửi đi (chẳng hạn như dịch vụ phụ trợ). Máy chủ DNS mặc định cho App Service là Azure DNS, có địa chỉ IP là 168.63.129.16. Nếu ứng dụng của bạn sử dụng tích hợp VNet hoặc đang ở trong môi trường App Service thì ứng dụng đó sẽ kế thừa cấu hình máy chủ DNS từ VNet theo mặc định. 10.0.0.1
WEBSITE_DNS_ALT_SERVER Địa chỉ IP của máy chủ DNS dự phòng cho các kết nối gửi đi. Xem WEBSITE_DNS_SERVER.  
WEBSITE_ENABLE_DNS_CACHE Cho phép lưu trữ các độ phân giải DNS thành công. Theo mặc định, các mục trong bộ đệm DNS đã hết hạn sẽ bị xóa và ngoài bộ đệm hiện tại sẽ được xóa sau mỗi 4,5 phút.  

TLS/SSL

Để biết thêm thông tin, hãy xem Sử dụng chứng chỉ TLS/SSL trong mã của bạn trong App Service Azure.

Đặt tên Mô tả
WEBSITE_LOAD_CERTIFICATES Các giá trị dấu vân tay được phân tách bằng dấu phẩy cho chứng chỉ mà bạn muốn tải trong mã của mình hoặc *để cho phép tải tất cả các chứng chỉ trong mã. Chỉ có thể tải các chứng chỉ được thêm vào ứng dụng của bạn .
WEBSITE_PRIVATE_CERTS_PATH Chỉ đọc. Đường dẫn trong vùng chứa Windows tới chứng chỉ riêng đã tải.
WEBSITE_PUBLIC_CERTS_PATH Chỉ đọc. Đường dẫn trong bộ chứa Windows tới các chứng chỉ công khai đã tải.
WEBSITE_INTERMEDIATE_CERTS_PATH Chỉ đọc. Đường dẫn trong bộ chứa Windows tới chứng chỉ trung gian đã tải.
WEBSITE_ROOT_CERTS_PATH Chỉ đọc. Đường dẫn trong bộ chứa Windows tới chứng chỉ gốc đã tải.

Vị trí triển khai

Để biết thêm thông tin về các vị trí triển khai, hãy xem Thiết lập môi trường chạy thử trong App Service Azure.

Đặt tên Mô tả Ví dụ
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS Theo mặc định, các phiên bản dành cho tiện ích mở rộng trang web dành riêng cho từng vị trí. Điều này ngăn hành vi ứng dụng không lường trước được do thay đổi phiên bản tiện ích mở rộng sau khi hoán đổi. Nếu bạn cũng muốn hoán đổi các phiên bản tiện ích mở rộng, hãy đặt thành 0 trên tất cả các vị trí.  
WEBSITE_OVERRIDE_PRESERVE_DEFAULT_STICKY_SLOT_SETTINGS Chỉ định một số cài đặt nhất định là cố định hoặc không thể tráo đổi theo mặc định. Mặc định là true. Thay vào đó, hãy đặt cài đặt này thành false hoặc 0 cho tất cả các vị trí triển khai để làm cho chúng có thể tráo đổi được. Không có kiểm soát chi tiết cho các loại cài đặt cụ thể.  
WEBSITE_SWAP_WARMUP_PING_PATH Đường dẫn đến ping để làm nóng vị trí mục tiêu trong một lần hoán đổi, bắt đầu bằng dấu gạch chéo. Giá trị mặc định là /ping đường dẫn gốc qua HTTP. /statuscheck
WEBSITE_SWAP_WARMUP_PING_STATUSES Mã phản hồi HTTP hợp lệ cho thao tác khởi động trong quá trình hoán đổi. Nếu mã trạng thái được trả về không có trong danh sách, các thao tác khởi động và hoán đổi sẽ bị dừng. Theo mặc định, tất cả các mã phản hồi đều hợp lệ. 200,202
WEBSITE_SLOT_NUMBER_OF_TIMEOUTS_BEFORE_RESTART Trong quá trình hoán đổi vị trí, số lượng thời gian chờ tối đa mà sau đó chúng tôi buộc khởi động lại trang web trên một phiên bản VM cụ thể. Mặc định là 3.  
WEBSITE_SLOT_MAX_NUMBER_OF_TIMEOUTS Trong quá trình hoán đổi vị trí, số lượng yêu cầu hết thời gian chờ tối đa cho một URL phải thực hiện trước khi từ bỏ. Mặc định là 5.  
WEBSITE_SKIP_ALL_BINDINGS_IN_APPHOST_CONFIG Đặt thành true hoặc 1 bỏ qua tất cả các ràng buộc trong applicationHost.config. Mặc định là false. Nếu ứng dụng của bạn kích hoạt khởi động lại do applicationHost.config được cập nhật với tên máy chủ đã hoán đổi của các vị trí, hãy đặt biến này thành true để tránh loại khởi động lại này. Nếu bạn đang chạy ứng dụng Windows Communication Foundation (WCF), đừng đặt biến này.  

Vùng chứa tùy chỉnh

Để biết thêm thông tin về vùng chứa tùy chỉnh, hãy xem Chạy vùng chứa tùy chỉnh trong Azure.

Đặt tên Mô tả Ví dụ
WEBSITES_ENABLE_APP_SERVICE_STORAGE Đặt thành true để cho phép /home chia sẻ thư mục trên các phiên bản được chia tỷ lệ. Giá trị mặc định true dành cho vùng chứa tùy chỉnh.  
WEBSITES_CONTAINER_START_TIME_LIMIT Lượng thời gian tính bằng giây để đợi vùng chứa hoàn tất khởi động trước khi khởi động lại vùng chứa. Mặc định là 230. Bạn có thể tăng nó lên tối đa là 1800.  
WEBSITES_CONTAINER_STOP_TIME_LIMIT Lượng thời gian tính bằng giây để chờ vùng chứa kết thúc nhanh chóng. Mặc định là 5. Bạn có thể tăng tối đa 120  
DOCKER_REGISTRY_SERVER_URL URL của máy chủ đăng ký khi chạy vùng chứa tùy chỉnh trong App Service. Để bảo mật, biến này không được chuyển vào vùng chứa. https://<server-name>.azurecr.io
DOCKER_REGISTRY_SERVER_USERNAME Tên người dùng để xác thực với máy chủ đăng ký tại DOCKER_REGISTRY_SERVER_URL. Để bảo mật, biến này không được chuyển vào vùng chứa.  
DOCKER_REGISTRY_SERVER_PASSWORD Mật khẩu để xác thực với máy chủ đăng ký tại DOCKER_REGISTRY_SERVER_URL. Để bảo mật, biến này không được chuyển vào vùng chứa.  
DOCKER_ENABLE_CI Đặt thành true để bật triển khai liên tục cho vùng chứa tùy chỉnh. Giá trị mặc định false dành cho vùng chứa tùy chỉnh.  
WEBSITE_PULL_IMAGE_OVER_VNET Kết nối và lấy từ sổ đăng ký bên trong Mạng ảo hoặc tại chỗ. Ứng dụng của bạn sẽ cần được kết nối với Mạng ảo bằng tính năng tích hợp VNet. Cài đặt này cũng cần thiết cho Azure Container Registry với Private Endpoint.  
WEBSITES_WEB_CONTAINER_NAME Trong ứng dụng Docker Compose, chỉ một trong số các vùng chứa có thể truy cập được qua internet. Đặt thành tên của vùng chứa được xác định trong tệp cấu hình để ghi đè lựa chọn vùng chứa mặc định. Theo mặc định, vùng chứa có thể truy cập internet là vùng chứa đầu tiên xác định cổng 80 hoặc 8080 hoặc khi không tìm thấy vùng chứa nào như vậy, vùng chứa đầu tiên được xác định trong tệp cấu hình.  
WEBSITES_PORT Đối với vùng chứa tùy chỉnh, số cổng tùy chỉnh trên vùng chứa dành cho App Service để định tuyến các yêu cầu. Theo mặc định, App Service cố gắng phát hiện cổng tự động của cổng 80 và 8080. Cài đặt này không được đưa vào vùng chứa dưới dạng biến môi trường.  
WEBSITE_CPU_CORES_LIMIT Theo mặc định, bộ chứa Windows chạy với tất cả các lõi có sẵn cho mức giá bạn đã chọn. Để giảm số lượng lõi, hãy đặt giới hạn số lượng lõi mong muốn. Để biết thêm thông tin, hãy xem Tùy chỉnh số lượng lõi điện toán.  
WEBSITE_MEMORY_LIMIT_MB Theo mặc định, tất cả các Bộ chứa Windows được triển khai trong App Service Azure được giới hạn ở 1 GB RAM. Đặt giới hạn bộ nhớ mong muốn tính bằng MB. Tổng cộng tích lũy của cài đặt này trên các ứng dụng trong cùng một gói không được vượt quá số tiền mà mức giá đã chọn cho phép. Để biết thêm thông tin, hãy xem Tùy chỉnh bộ nhớ vùng chứa.  

Mở rộng quy mô

Đặt tên Mô tả
WEBSITE_INSTANCE_ID Chỉ đọc. ID duy nhất của phiên bản VM hiện tại, khi ứng dụng được mở rộng thành nhiều phiên bản.
WEBSITE_IIS_SITE_NAME Không dùng nữa. Sử dụng WEBSITE_INSTANCE_ID.
WEBSITE_DISABLE_OVERLAPPED_RECYCLING Tái chế chồng chéo làm cho nó sao cho trước khi phiên bản VM hiện tại của một ứng dụng bị tắt, một phiên bản VM mới sẽ bắt đầu. Trong một số trường hợp, nó có thể gây ra sự cố khóa tệp. Bạn có thể thử tắt nó bằng cách đặt thành 1.
WEBSITE_DISABLE_CROSS_STAMP_SCALE Theo mặc định, các ứng dụng được phép thay đổi quy mô trên các tem nếu chúng sử dụng Azure Files hoặc vùng chứa Docker. Đặt thành 1 hoặc true để tắt tỷ lệ đóng dấu chéo trong khu vực của ứng dụng. Mặc định là 0. Vùng chứa Docker tùy chỉnh được đặt WEBSITES_ENABLE_APP_SERVICE_STORAGE thành true hoặc 1 không thể chia tỷ lệ dấu chéo vì nội dung của chúng không được gói gọn hoàn toàn trong vùng chứa Docker.

Ghi nhật ký

Đặt tên Mô tả Ví dụ
WEBSITE_HTTPLOGGING_ENABLED Chỉ đọc. Cho biết máy chủ web ghi nhật ký cho các ứng dụng gốc của Windows có được bật (1) hay không (0).  
WEBSITE_HTTPLOGGING_RETENTION_DAYS Thời gian lưu giữ tính bằng ngày của nhật ký máy chủ web cho các ứng dụng gốc của Windows, nếu nhật ký máy chủ web được bật. 10
WEBSITE_HTTPLOGGING_CONTAINER_URL URL SAS của bộ chứa blob lưu trữ để lưu trữ nhật ký máy chủ web cho các ứng dụng gốc của Windows, nếu nhật ký máy chủ web được bật. Nếu bạn không đặt chính sách này, nhật ký máy chủ web sẽ được lưu trữ trong hệ thống tệp của ứng dụng (bộ nhớ dùng chung mặc định).  
DIAGNOSTICS_AZUREBLOBRETENTIONINDAYS Thời gian lưu giữ tính bằng ngày của nhật ký ứng dụng cho các ứng dụng gốc của Windows, nếu nhật ký ứng dụng được bật. 10
DIAGNOSTICS_AZUREBLOBCONTAINERSASURL SAS URL của bộ chứa blob lưu trữ để lưu trữ nhật ký ứng dụng cho các ứng dụng gốc của Windows, nếu nhật ký ứng dụng được bật.  
APPSERVICEAPPLOGS_TRACE_LEVEL Cấp nhật ký tối thiểu để chuyển đến Phân tích nhật ký cho loại nhật ký AppServiceAppLogs.  
DIAGNOSTICS_LASTRESORTFILE Tên tệp cần tạo hoặc đường dẫn tương đối đến thư mục nhật ký để ghi nhật ký lỗi nội bộ nhằm khắc phục sự cố trình nghe. Mặc định là logging-errors.txt.  
DIAGNOSTICS_LOGGINGSETTINGSFILE Đường dẫn đến tệp cài đặt nhật ký, liên quan đến D:\homehoặc /home. Mặc định là site\diagnostics\settings.json.  
DIAGNOSTICS_TEXTTRACELOGDIRECTORY Thư mục nhật ký, liên quan đến thư mục gốc của ứng dụng (D:\home\site\wwwroothoặc /home/site/wwwroot). ..\..\LogFiles\Application
DIAGNOSTICS_TEXTTRACEMAXLOGFILESIZEBYTES Kích thước tối đa của tệp nhật ký tính bằng byte. Giá trị mặc định là 131072(128 KB).  
DIAGNOSTICS_TEXTTRACEMAXLOGFOLDERSIZEBYTES Kích thước tối đa của thư mục nhật ký tính bằng byte. Mặc định là 1048576(1 MB).  
DIAGNOSTICS_TEXTTRACEMAXNUMLOGFILES Số lượng tệp nhật ký tối đa cần lưu giữ. Mặc định là 20.  
DIAGNOSTICS_TEXTTRACETURNOFFPERIOD Thời gian chờ tính bằng mili giây để tiếp tục bật ghi nhật ký ứng dụng. Mặc định là 43200000(12 giờ).  
WEBSITE_LOG_BUFFERING Theo mặc định, bộ đệm nhật ký được bật. Đặt thành 0 để tắt nó.  
WEBSITE_ENABLE_PERF_MODE Đối với các ứng dụng Windows gốc, hãy đặt thành TRUE để tắt các mục nhật ký IIS đối với các yêu cầu thành công được trả về trong vòng 10 giây. Đây là một cách nhanh chóng để thực hiện đo điểm chuẩn hiệu suất bằng cách xóa nhật ký mở rộng.  

Bộ đếm hiệu suất

Sau đây là các biến môi trường 'giả mạo' không tồn tại nếu bạn liệt kê chúng, nhưng trả về giá trị của chúng nếu bạn tra cứu riêng lẻ. Giá trị là động và có thể thay đổi trong mỗi lần tra cứu.

Đặt tên Mô tả
WEBSITE_COUNTERS_ASPNET Một đối tượng JSON chứa bộ đếm hiệu suất ASP.NET.
WEBSITE_COUNTERS_APP Đối tượng JSON chứa bộ đếm hộp cát.
WEBSITE_COUNTERS_CLR Đối tượng JSON chứa bộ đếm CLR.
WEBSITE_COUNTERS_ALL Một đối tượng JSON chứa sự kết hợp của ba biến khác.

Bộ nhớ đệm

Đặt tên Mô tả
WEBSITE_LOCAL_CACHE_OPTION Bộ đệm cục bộ có được bật hay không. Các tùy chọn khả dụng là:
Default: Kế thừa cài đặt toàn cầu ở cấp tem.
Always: Bật cho ứng dụng.
- OnStorageUnavailability
Disabled: Đã tắt cho ứng dụng.
WEBSITE_LOCAL_CACHE_READWRITE_OPTION Các tùy chọn đọc-ghi của bộ đệm cục bộ. Các tùy chọn có sẵn là:
ReadOnly: Bộ nhớ cache ở chế độ chỉ đọc.
WriteButDiscardChanges: Cho phép ghi vào bộ đệm cục bộ nhưng loại bỏ các thay đổi được thực hiện cục bộ.
WEBSITE_LOCAL_CACHE_SIZEINMB Kích thước của bộ nhớ đệm cục bộ tính bằng MB. Mặc định là 1000(1 GB).
WEBSITE_LOCALCACHE_READY Cờ chỉ đọc cho biết liệu ứng dụng có sử dụng bộ đệm cục bộ hay không.
WEBSITE_DYNAMIC_CACHE Do tính chất chia sẻ tệp mạng để cho phép nhiều phiên bản truy cập, bộ đệm ẩn động cải thiện hiệu suất bằng cách lưu cục bộ các tệp được truy cập gần đây vào bộ nhớ cache trên một phiên bản. Bộ nhớ cache bị vô hiệu khi tệp được sửa đổi. Vị trí bộ đệm là %SYSTEMDRIVE%\local\DynamicCache%SYSTEMDRIVE%\local áp dụng cùng một hạn ngạch). Theo mặc định, bộ nhớ đệm nội dung đầy đủ được bật (đặt thành 1), bao gồm cả nội dung tệp và siêu dữ liệu thư mục/tệp (dấu thời gian, kích thước, nội dung thư mục). Để tiết kiệm việc sử dụng đĩa cục bộ, hãy đặt thành 2 siêu dữ liệu thư mục/tệp chỉ lưu vào bộ đệm ẩn (dấu thời gian, kích thước, nội dung thư mục). Để tắt bộ nhớ đệm, hãy đặt thành 0.
WEBSITE_READONLY_APP Khi sử dụng bộ đệm ẩn động, bạn có thể tắt quyền ghi vào thư mục gốc (D:\home\site\wwwroot hoặc /home/site/wwwroot) của ứng dụng bằng cách đặt biến này thành 1. Ngoại trừ thư mục App_Data, không có khóa độc quyền nào được phép, do đó việc triển khai không bị chặn bởi các tệp bị khóa.

Mạng

Các biến môi trường sau đây có liên quan đến kết nối hỗn hợp và tích hợp VNET.

Đặt tên Mô tả
WEBSITE_RELAYS Chỉ đọc. Dữ liệu cần thiết để định cấu hình Kết nối hỗn hợp, bao gồm các điểm cuối và dữ liệu bus dịch vụ.
WEBSITE_REWRITE_TABLE Chỉ đọc. Được sử dụng trong thời gian chạy để thực hiện tra cứu và viết lại các kết nối một cách thích hợp.
WEBSITE_VNET_ROUTE_ALL Theo mặc định, nếu bạn sử dụng Tích hợp VNet khu vực , ứng dụng của bạn chỉ định tuyến lưu lượng truy cập RFC1918 vào VNet của bạn. Đặt thành 1 để định tuyến tất cả lưu lượng truy cập ra vào VNet của bạn và tuân theo cùng một NSG và UDR. Cài đặt này cho phép bạn truy cập các điểm cuối không phải RFC1918 thông qua VNet của mình, bảo mật tất cả lưu lượng truy cập ra khỏi ứng dụng của bạn và buộc chuyển tất cả lưu lượng truy cập ra vào một thiết bị mạng do bạn chọn.
WEBSITE_PRIVATE_IP Chỉ đọc. Địa chỉ IP liên kết với ứng dụng khi tích hợp với VNet . Đối với Tích hợp VNet khu vực, giá trị là một IP từ dải địa chỉ của mạng con được ủy quyền và đối với Tích hợp VNet yêu cầu cổng, giá trị là một IP từ dải địa chỉ của nhóm địa chỉ điểm tới trang được định cấu hình trên Mạng ảo Cổng. IP này được ứng dụng sử dụng để kết nối với các tài nguyên thông qua VNet. Ngoài ra, nó có thể thay đổi trong phạm vi địa chỉ được mô tả.
WEBSITE_PRIVATE_PORTS Chỉ đọc. Trong tích hợp VNet, cho biết ứng dụng có thể sử dụng cổng nào để giao tiếp với các nút khác.
WEBSITE_CONTENTOVERVNET Nếu bạn đang cài đặt Chia sẻ tệp Azure trên Dịch vụ ứng dụng và tài khoản Lưu trữ bị hạn chế đối với VNET, hãy đảm bảo bật cài đặt này với giá trị là 1.

Tham chiếu kho khóa

Các biến môi trường sau có liên quan đến tham chiếu kho khóa.

Đặt tên Mô tả
WEBSITE_KEYVAULT_REFERENCES Chỉ đọc. Chứa thông tin (bao gồm cả trạng thái) cho tất cả tham chiếu Key Vault hiện được định cấu hình trong ứng dụng.
WEBSITE_SKIP_CONTENTSHARE_VALIDATION Nếu bạn đặt kết nối bộ nhớ dùng chung của ứng dụng (đang sử dụng WEBSITE_CONTENTAZUREFILECONNECTIONSTRING) thành tham chiếu Key Vault, thì ứng dụng không thể phân giải tham chiếu kho lưu trữ khóa khi tạo hoặc cập nhật ứng dụng nếu một trong các điều kiện sau là đúng:
- Ứng dụng truy cập kho lưu trữ khóa với một danh tính do hệ thống chỉ định.
- Ứng dụng truy cập kho khóa với danh tính do người dùng chỉ định và kho khóa được khóa bằng VNet.
Để tránh lỗi khi tạo hoặc cập nhật, hãy đặt biến này thành 1.
WEBSITE_DELAY_CERT_DELETION Người dùng có thể đặt biến env này thành 1 để đảm bảo rằng chứng chỉ mà một quy trình worker phụ thuộc vào sẽ không bị xóa cho đến khi nó thoát.

CORS

Các biến môi trường sau có liên quan đến cấu hình Chia sẻ tài nguyên nguồn gốc chéo (CORS).

Đặt tên Mô tả
WEBSITE_CORS_ALLOWED_ORIGINS Chỉ đọc. Hiển thị nguồn gốc được phép cho CORS.
WEBSITE_CORS_SUPPORT_CREDENTIALS Chỉ đọc. Cho biết cài đặt header Access-Control-Allow-Credentials thành true có được bật (True) hay không (False).

Uỷ quyền xác thực

Các biến môi trường sau có liên quan đến xác thực App Service.

Đặt tên Mô tả
WEBSITE_AUTH_DISABLE_IDENTITY_FLOW Khi được đặt thành true, sẽ vô hiệu hóa việc chỉ định danh tính chính của luồng trong các ứng dụng web dựa trên ASP.NET (bao gồm Ứng dụng chức năng v1). Điều này được thiết kế để cho phép các nhà phát triển bảo vệ quyền truy cập vào trang web của họ bằng xác thực nhưng vẫn yêu cầu trang web sử dụng cơ chế đăng nhập riêng trong logic ứng dụng của họ. Mặc định là false.
WEBSITE_AUTH_HIDE_DEPRECATED_SID true hoặc false. Giá trị mặc định là false. Đây là cài đặt dành cho tích hợp Azure Mobile Apps cũ dành cho App service Azure. Đặt cài đặt này thành true để giải quyết sự cố trong đó SID (ID bảo mật) được tạo cho người dùng đã xác thực có thể thay đổi nếu người dùng thay đổi thông tin hồ sơ của họ. Việc thay đổi giá trị này có thể dẫn đến ID người dùng Azure Mobile Apps hiện tại thay đổi. Hầu hết các ứng dụng không cần sử dụng cài đặt này.
WEBSITE_AUTH_NONCE_DURATION Giá trị timespan ở dạng _hours_:_minutes_:_seconds_. Giá trị mặc định là 00:05:00 hoặc 5 phút. Cài đặt này kiểm soát thời gian tồn tại của nonce mật mã được tạo cho tất cả các lần đăng nhập do trình duyệt điều khiển. Nếu đăng nhập không hoàn tất trong thời gian đã chỉ định, quy trình đăng nhập sẽ được thử lại tự động. Cài đặt ứng dụng này được thiết kế để sử dụng với trải nghiệm cấu hình V1 (cổ điển). Nếu sử dụng lược đồ cấu hình xác thực V2, thay vào đó, bạn nên sử dụng giá trị cấu hình login.nonce.nonceExpirationInterval.
WEBSITE_AUTH_PRESERVE_URL_FRAGMENT Khi được đặt thành true và người dùng chọn trên các liên kết ứng dụng chứa các đoạn URL, quá trình đăng nhập sẽ đảm bảo rằng phần đoạn URL trong URL của bạn không bị mất trong quá trình chuyển hướng đăng nhập. Để biết thêm thông tin, hãy xem Tùy chỉnh đăng nhập và đăng xuất trong xác thực App Service Azure.
WEBSITE_AUTH_USE_LEGACY_CLAIMS Để duy trì khả năng tương thích ngược trong các bản nâng cấp, mô-đun xác thực sử dụng ánh xạ xác nhận quyền sở hữu cũ của tên ngắn thành tên dài trong /.auth/meAPI, do đó, một số ánh xạ nhất định bị loại trừ (ví dụ: "roles"). Để có phiên bản ánh xạ xác nhận quyền sở hữu hiện đại hơn, hãy đặt biến này thành False. Trong ví dụ về "roles", nó sẽ được ánh xạ tới tên yêu cầu dài "http://schemas.microsoft.com/ws/2008/06/identity/claims/role".
WEBSITE_AUTH_DISABLE_WWWAUTHENTICATE true hoặc false. Giá trị mặc định là false. Khi được đặt thành true, hãy xóa WWW-Authenticatetiêu đề phản hồi HTTP khỏi các phản hồi HTTP 401 do mô-đun tạo. Cài đặt ứng dụng này được thiết kế để sử dụng với trải nghiệm cấu hình V1 (cổ điển). Nếu sử dụng lược đồ cấu hình xác thực V2, thay vào đó, bạn nên sử dụng giá trị cấu hình identityProviders.azureActiveDirectory.login.disableWwwAuthenticate.
WEBSITE_AUTH_STATE_DIRECTORY Đường dẫn thư mục hệ thống tệp cục bộ nơi lưu trữ mã thông báo khi bật tính năng lưu trữ mã thông báo dựa trên tệp. Giá trị mặc định là %HOME%\Data\.auth. Cài đặt ứng dụng này được thiết kế để sử dụng với trải nghiệm cấu hình V1 (cổ điển). Nếu sử dụng lược đồ cấu hình xác thực V2, thay vào đó, bạn nên sử dụng giá trị cấu hình login.tokenStore.fileSystem.directory.
WEBSITE_AUTH_TOKEN_CONTAINER_SASURL URL vùng chứa blob đủ điều kiện. Hướng dẫn mô-đun xác thực lưu trữ và tải tất cả các mã thông báo được mã hóa vào bộ chứa lưu trữ blob được chỉ định thay vì sử dụng hệ thống tệp cục bộ mặc định.
WEBSITE_AUTH_TOKEN_REFRESH_HOURS Bất kỳ số thập phân dương nào. Giá trị mặc định là 72 (giờ). Cài đặt này kiểm soát lượng thời gian sau khi mã thông báo phiên hết hạn mà /.auth/refreshAPI có thể được sử dụng để làm mới nó. Các nỗ lực làm mới sau khoảng thời gian này sẽ không thành công và người dùng cuối sẽ phải đăng nhập lại. Cài đặt ứng dụng này được thiết kế để sử dụng với trải nghiệm cấu hình V1 (cổ điển). Nếu sử dụng lược đồ cấu hình xác thực V2, thay vào đó, bạn nên sử dụng giá trị cấu hình login.tokenStore.tokenRefreshExtensionHours.
WEBSITE_AUTH_TRACE_LEVEL Kiểm soát mức độ chi tiết của dấu vết xác thực được ghi vào Nhật ký ứng dụng. Các giá trị hợp lệ là OffErrorWarningInformation và Verbose. Giá trị mặc định là Verbose.
WEBSITE_AUTH_VALIDATE_NONCE true hoặc false. Giá trị mặc định là true. Không bao giờ được đặt giá trị này thành false ngoại trừ khi gỡ lỗi tạm thời lỗi xác thực nonce mật mã xảy ra trong quá trình đăng nhập tương tác. Cài đặt ứng dụng này được thiết kế để sử dụng với trải nghiệm cấu hình V1 (cổ điển). Nếu sử dụng lược đồ cấu hình xác thực V2, thay vào đó, bạn nên sử dụng giá trị cấu hình login.nonce.validateNonce.
WEBSITE_AUTH_V2_CONFIG_JSON Biến môi trường này được nền tảng App service Azure tự động điền và được sử dụng để định cấu hình mô-đun xác thực tích hợp. Giá trị của biến môi trường này tương ứng với cấu hình xác thực V2 (không cổ điển) cho ứng dụng hiện tại trong Trình quản lý tài nguyên Azure. Nó không có ý định được cấu hình rõ ràng.
WEBSITE_AUTH_ENABLED Chỉ đọc. Được đưa vào ứng dụng Windows hoặc Linux để cho biết liệu xác thực App service có được bật hay không.
WEBSITE_AUTH_ENCRYPTION_KEY Theo mặc định, khóa được tạo tự động được sử dụng làm khóa mã hóa. Để ghi đè, hãy đặt thành khóa mong muốn. Điều này được khuyến nghị nếu bạn muốn chia sẻ mã thông báo hoặc phiên trên nhiều ứng dụng. Nếu được chỉ định, nó sẽ thay thế cài đặt MACHINEKEY_DecryptionKey.
WEBSITE_AUTH_SIGNING_KEY Theo mặc định, khóa được tạo tự động được sử dụng làm khóa ký. Để ghi đè, hãy đặt thành khóa mong muốn. Điều này được khuyến nghị nếu bạn muốn chia sẻ mã thông báo hoặc phiên trên nhiều ứng dụng. Nếu được chỉ định, nó sẽ thay thế cài đặt MACHINEKEY_ValidationKey.

Danh tính được quản lý

Các biến môi trường sau có liên quan đến danh tính được quản lý.

Đặt tên Mô tả
IDENTITY_ENDPOINT Chỉ đọc. URL để truy xuất mã thông báo cho danh tính được quản lý của ứng dụng.
MSI_ENDPOINT Không dùng nữa. Sử dụng IDENTITY_ENDPOINT.
IDENTITY_HEADER Chỉ đọc. Giá trị phải được thêm vào header X-IDENTITY-HEADER khi thực hiện yêu cầu HTTP GET tới IDENTITY_ENDPOINT. Giá trị được xoay bởi nền tảng.
MSI_SECRET Không dùng nữa. Sử dụng IDENTITY_HEADER.

Kiểm tra sức khỏe

Các biến môi trường sau có liên quan đến kiểm tra sức khỏe.

Đặt tên Mô tả
WEBSITE_HEALTHCHECK_MAXPINGFAILURES Số lần ping không thành công tối đa trước khi xóa phiên bản. Đặt thành một giá trị giữa 2 và 100. Khi bạn mở rộng hoặc thu nhỏ, App service sẽ ping đường dẫn Kiểm tra tình trạng để đảm bảo các phiên bản mới đã sẵn sàng. Để biết thêm thông tin, hãy xem Kiểm tra tình trạng.
WEBSITE_HEALTHCHECK_MAXUNHEALTHYWORKERPERCENT Để tránh các trường hợp khỏe mạnh áp đảo, không quá một nửa số trường hợp sẽ bị loại trừ. Ví dụ: nếu App Service Plan được chia tỷ lệ thành bốn phiên bản và ba phiên bản không lành mạnh, thì tối đa hai phiên bản sẽ bị loại trừ. Hai phiên bản còn lại (một khỏe mạnh và một không khỏe mạnh) sẽ tiếp tục nhận được yêu cầu. Trong trường hợp xấu nhất khi tất cả các phiên bản đều không lành mạnh, sẽ không có trường hợp nào bị loại trừ. Để ghi đè hành vi này, hãy đặt giá trị giữa 1 và 100. Giá trị cao hơn có nghĩa là nhiều trường hợp không lành mạnh sẽ bị xóa. Giá trị mặc định là 50 (50%).

Thông báo đẩy

Các biến môi trường sau có liên quan đến tính năng thông báo đẩy.

Đặt tên Mô tả
WEBSITE_PUSH_ENABLED Chỉ đọc. Đã thêm khi thông báo đẩy được bật.
WEBSITE_PUSH_TAG_WHITELIST Chỉ đọc. Chứa các thẻ trong đăng ký thông báo.
WEBSITE_PUSH_TAGS_REQUIRING_AUTH Chỉ đọc. Chứa danh sách các thẻ trong đăng ký thông báo yêu cầu xác thực người dùng.
WEBSITE_PUSH_TAGS_DYNAMIC Chỉ đọc. Chứa danh sách các thẻ trong đăng ký thông báo đã được thêm tự động.

Ghi chú

Bài viết này chứa các tham chiếu đến thuật ngữ danh sách trắng, một thuật ngữ mà Microsoft không còn sử dụng nữa. Khi cụm từ bị xóa khỏi phần mềm, chúng tôi sẽ xóa cụm từ đó khỏi bài viết này.

Webjobs

Các biến môi trường sau có liên quan đến WebJobs.

Đặt tên Mô tả
WEBJOBS_RESTART_TIME Đối với các công việc liên tục, hãy trì hoãn trong vài giây khi quy trình của công việc ngừng hoạt động vì bất kỳ lý do gì trước khi khởi chạy lại nó.
WEBJOBS_IDLE_TIMEOUT Đối với các công việc được kích hoạt, thời gian chờ tính bằng giây, sau đó công việc bị hủy bỏ nếu nó ở trạng thái không hoạt động, không có thời gian hoặc đầu ra của CPU.
WEBJOBS_HISTORY_SIZE Đối với các công việc đã kích hoạt, số lần chạy tối đa được lưu trong thư mục lịch sử cho mỗi công việc. Mặc định là 50.
WEBJOBS_STOPPED Đặt thành 1 để vô hiệu hóa việc chạy bất kỳ công việc nào và dừng tất cả các công việc hiện đang chạy.
WEBJOBS_DISABLE_SCHEDULE Đặt thành 1 để tắt tất cả kích hoạt theo lịch trình. Công việc vẫn có thể được gọi thủ công.
WEBJOBS_ROOT_PATH Đường dẫn tuyệt đối hoặc tương đối của tệp webjob. Đối với đường dẫn tương đối, giá trị được kết hợp với đường dẫn gốc mặc định (D:/home/site/wwwroot/hoặc /home/site/wwwroot/).
WEBJOBS_LOG_TRIGGERED_JOBS_TO_APP_LOGS Đặt thành true để gửi đầu ra từ WebJobs được kích hoạt tới đường dẫn nhật ký ứng dụng (hỗ trợ hệ thống tệp, đốm màu và bảng).
WEBJOBS_SHUTDOWN_FILE Tệp mà App service tạo khi phát hiện thấy yêu cầu tắt máy. Quy trình công việc web có trách nhiệm phát hiện sự hiện diện của tệp này và bắt đầu tắt máy. Khi sử dụng WebJobs SDK, phần này được xử lý tự động.
WEBJOBS_PATH Chỉ đọc. Đường dẫn gốc của công việc hiện đang chạy (sẽ nằm trong một số thư mục tạm thời).
WEBJOBS_NAME Chỉ đọc. Tên công việc hiện tại.
WEBJOBS_TYPE Chỉ đọc. Loại công việc hiện tại (triggered hoặc continuous).
WEBJOBS_DATA_PATH Chỉ đọc. Đường dẫn siêu dữ liệu công việc hiện tại để chứa nhật ký, lịch sử của công việc và bất kỳ thành phần tạo tác nào của công việc.
WEBJOBS_RUN_ID Chỉ đọc. Đối với các công việc được kích hoạt, ID chạy hiện tại của công việc.

Chức năng

Đặt tên Mô tả
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED Đặt thành 0 để tắt bộ đệm chức năng.
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT Tham chiếu cài đặt ứng dụng cho Hàm Azure
AzureWebJobsSecretStorageType Tham chiếu cài đặt ứng dụng cho Hàm Azure
FUNCTIONS_EXTENSION_VERSION Tham chiếu cài đặt ứng dụng cho Hàm Azure
FUNCTIONS_WORKER_RUNTIME Tham chiếu cài đặt ứng dụng cho Hàm Azure
AzureWebJobsStorage Tham chiếu cài đặt ứng dụng cho Hàm Azure
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING Tham chiếu cài đặt ứng dụng cho Hàm Azure
WEBSITE_CONTENTSHARE Tham chiếu cài đặt ứng dụng cho Hàm Azure
WEBSITE_CONTENTOVERVNET Tham chiếu cài đặt ứng dụng cho Hàm Azure
WEBSITE_ENABLE_BROTLI_ENCODING Tham chiếu cài đặt ứng dụng cho Hàm Azure
WEBSITE_USE_PLACEHOLDER Tham chiếu cài đặt ứng dụng cho Hàm Azure
WEBSITE_PLACEHOLDER_MODE Chỉ đọc. Cho biết ứng dụng chức năng đang chạy trên máy chủ giữ chỗ (generalized) hay máy chủ riêng của nó (specialized).
WEBSITE_DISABLE_ZIP_CACHE Khi ứng dụng của bạn chạy từ gói ZIP (WEBSITE_RUN_FROM_PACKAGE=1), năm gói ZIP được triển khai gần đây nhất sẽ được lưu vào bộ nhớ cache trong hệ thống tệp của ứng dụng (D:\home\data\SitePackages). Đặt biến này thành 1 để tắt bộ đệm này. Đối với các ứng dụng sử dụng Linux, bộ đệm gói ZIP bị tắt theo mặc định.
Nguồn: learn.microsoft.com
» Tiếp: Các câu hỏi thường gặp về việc tạo hoặc xóa tài nguyên trong App Service Azure
« Trước: Kết nối với SQL từ App Service .NET mà không cần bảo mật bằng cách sử dụng danh tính được quản lý
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!