1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bản Báo Cáo Quản Trị Hệ Thống Mạng Đề Tài Nghiên Cứu, Xây Dựng Ứng Dụng Dns Sử Dụng Công Nghệ Spring Boot..pdf

35 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên Cứu, Xây Dựng Ứng Dụng DNS Sử Dụng Công Nghệ Spring Boot
Tác giả Lai Chí Dũng
Người hướng dẫn Hoàng Ngọc Long
Trường học Đại Học Quốc Tế Hồng Bàng
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo Cáo
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 35
Dung lượng 3,06 MB

Cấu trúc

  • CHƯƠNG 1: TÌM HIỂU VỀ HỆ THỐNG DNS (5)
    • 1.1. DNS là gì ? (5)
    • 1.2. Kiến trúc của DNS (6)
      • 1.2.1. DNS Zone và DNS File Zone (6)
      • 1.2.2. Resource Record (Các bản ghi DNS) (7)
    • B. NS (Name Server) (9)
    • C. Record A (9)
      • 1.3. Cơ chế hoạt động của DNS (10)
  • CHƯƠNG 2: CÁC DẠNG TẤN CÔNG VÀO DNS (13)
    • 2.1. DNS Spoofing (13)
  • CHƯƠNG 3:SPRINGBOOT..................................................................................................................14 (14)
    • 3.1. Tổng Quan (14)
    • 3.2. Spring Security (16)
    • 3.3. Spring Data JPA (16)
    • 3.4. JWT (16)
  • CHƯƠNG 4: Demo (0)
    • 4.1 IntelliJ của JetBrains (20)
    • 4.2 Spring Initializr (20)
    • 4.3 Cài đặt (22)
  • CHƯƠNG 5: KẾT LUẬN (27)
    • 5.1. Nhận định về dns (27)
    • 5.2. Kết quả đạt được (29)
    • 5.3. Hạn chế (29)
    • 5.4. Hướng phát triển (29)
  • TÀI LIỆU THAM KHẢO (35)

Nội dung

SOA Start of Authority Thông thường, mỗi tên miền sẽ sử dụng 1 cặp DNS nào đó để trỏ về 1 hoặc nhiều máy chủ DNS, và ở đây, các máy chủ DNS có trách nhiệm cung cấp thông tin bản ghi DNS

TÌM HIỂU VỀ HỆ THỐNG DNS

DNS là gì ?

DNS là Hệ thống phân giải tên miền, viết tắt của Domain Name Servers, nó "dịch" tên miền Internet và tên máy chủ sang địa chỉ IP (giúp các máy chủ và thiết bị mạng có thể hiểu được) và ngược lại Trên Internet, DNS tự động chuyển đổi các tên miền chúng ta gõ vào thanh địa chỉ trên trình duyệt web thành địa chỉ IP.

Khi “dịch” như thế, trình duyệt sẽ hiểu và đăng nhập vào được Và khi người dùng đăng nhập vào một website, thay vì phải nhớ và nhập một dãy số địa chỉ IP của hosting, thì chỉ cần nhập tên website là trình duyệt tự động nhận diện.

Mỗi máy tính trên Internet đều có một địa chỉ IP duy nhất Địa chỉ

IP này được dùng để thiết lập kết nối giữa server và máy khách để khởi đầu một kết nối Bất kỳ khi nào, bạn truy cập vào một website tùy ý hoặc gửi một email, thì DNS đóng vai trò rất quan trọng trong trường hợp này.

Trong vô vàn trang web trên thế giới, sẽ không có ai có thể nhớ hết từng dãy số địa chỉ IP trong mỗi lần đăng nhập Do đó, khái niệm tên miền được đưa ra, từ đó mỗi trang web sẽ được xác định với tên duy nhất.

Tuy nhiên, địa chỉ IP vẫn được sử dụng như một nền tảng kết nối bởi các thiết bị mạng Đó là nơi DNS làm việc phân giải tên domain thành địa chỉ IP để các thiết bị mạng giao tiếp với nhau Đồng thời, bạn cũng có thể tải một website bằng cách nhập trực tiếp địa chỉ IP thay vì nhập tên domain của website đó.

Kiến trúc của DNS

1.2.1 DNS Zone và DNS File Zone

DNS Zone là vùng DNS, một phần của không gian tên DNS được quản lý bởi một tổ chức hoặc quản trị viên cụ thể Vùng DNS là không gian quản trị cho phép kiểm soát chi tiết hơn các thành phần DNS, chẳng hạn như máy chủ định danh có thẩm quyền Các miền không gian tên là một cây phân cấp, với các tên miền DNS root ở đầu trang Vùng DNS bắt đầu từ một miền trong cây và cũng có thể mở rộng xuống các miền phụ để nhiều miền phụ có thể được quản lý bởi một thực thể DNS file zone là một tệp văn bản thuần túy được lưu trữ trong máy chủ DNS chứa bản đại diện thực tế của vùng và chứa tất cả các bản ghi cho mọi miền trong vùng DNS file zone phải luôn bắt đầu bằng bản ghi Start of Authority (SOA), bản ghi này chứa thông tin quan trọng bao gồm thông tin liên hệ cho người quản trị vùng.

1.2.2 Resource Record (Các bản ghi DNS)

RR hay còn gọi là Resource Record là mẫu thông tin sử dụng để miêu tả những thông tin về DNS, những mẫu thông tin này được lưu trong các zone file nằm ở các DNZ zone Mỗi DNS Zone có một zone file Zone file cũng có thể được xem giống như là cơ sở dữ liệu DNS Các zone file có 1 hoặc nhiều resource records – bản ghi tài nguyên Các bản ghi DNS phải được cập nhật thường xuyên, định kỳ khi các tên miền mới được thêm vào hoặc có sự thay đổi ở các tên miền cũ Nếu không có quá trình này thì hệ thống sẽ trở nên chậm chạp và lỗi thời Do đó khả năng chuyển vùng giữa các DNS server là thực sự cần thiết Resource Record là một bản ghi đơn mô tả chi tiết phần thông tin trong cơ sở dữ liệu DNS Các bản ghi này có dạng văn bản đơn giản, giống như là Owner TTL Class Type :

RDATA Mỗi trường này phải được phân tách bằng ít nhất một khoảng trắng Các loại Resource Record a SOA (Start of Authority)

Thông thường, mỗi tên miền sẽ sử dụng 1 cặp DNS nào đó để trỏ về 1 hoặc nhiều máy chủ DNS, và ở đây, các máy chủ DNS có trách nhiệm cung cấp thông tin bản ghi DNS của hệ thống cho tên miền này để nó hoạt động SOA được coi như dấu hiệu nhận biết của hệ thống về tên miền này Một cấu trúc của bản ghi SOA thông thường sẽ bao gồm: [tên miền]

IN SOA [tên-server-dns] [địa-chỉ-email] (serial number; refresh number; retry number; experi number; time-to-live number)

@ IN SOA masterdns.hiennt.com admin.hiennt.com (

Trong đó: masterdns.hiennt.com.: Giá trị DNS chính của tên miền hoặc máy chủ. admin.hiennt.com : Chuyển đổi từ dạng admin@hiennt.com, thể hiện chủ thể sở hữu tên miền này.

 Serial: Áp dụng cho mọi dữ liệu trong zone và có định dạng YYYYMMDDNN với YYYY là năm, MM là tháng, DD là ngày,

NN là số lần sửa đổi dữ liệu zone trong ngày Luôn luôn phải tăng số này lên mỗi lần sửa đổi dữ liệu zone Khi Slave DNS Server liên lạc với Master DNS Server, trước tiên nó sẽ hỏi số serial Nếu số serial của Slave nhỏ hơn số serial của máy Master tức là dữ liệu zone trên Slave đã cũ và sau đó Slave sẽ sao chép dữ liệu mới từ Master thay cho dữ liệu đang có.

 Refresh:Chỉ ra khoảng thời gian Slave DNS Server kiểm tra dữ liệu zone trên Master để cập nhật nếu cần Giá trị này thay đổi tùy theo tuần suất thay đổi dữ liệu trong zone

 Retry: Nếu Slave DNS Server không kết nối được với Master DNS Server theo thời hạn mô tả trong refresh (ví dụ Master DNS Server bị shutdown vào lúc đó thì Slave DNS Server phải tìm cách kết nối lại với Master DNS Server theo một chu kỳ thời gian mô tả trong retry Thông thường, giá trị này nhỏ hơn giá trị refresh).

 Expire:Nếu sau khoảng thời gian này mà Slave DNS Server không kết nối được với Master DNS Server thì dữ liệu zone trên Slave sẽ bị quá hạn Khi dữ liệu trên Slave bị quá hạn thì máy chủ này sẽ không trả lời mỗi truy vấn về zone này nữa Giá trị expire này phải lớn hơn giá trị refresh và giá trị retry.

 Minimum TTL: Chịu trách nhiệm thiết lập TTL tối thiểu cho 1 zone.

NS (Name Server)

Bản ghi NS dùng để khai báo máy chủ tên miền cho một tên miền

Nó cho biết các thông tin về tên miền này được khai báo trên máy chủ nào.Với mỗi một tên miền phải có tổi thiểu hai máy chủ tên

Record A

Là một record căn bản và quan trọng, dùng để ánh xạ từ một domain thành địa chỉ IP cho phép có thể truy cập website d Record AAAA

Có nhiệm vụ tương tự như bản ghi A, nhưng thay vì địa chỉ IPv4 sẽ là địa chỉ IPv6 e PTR(Pointer Records)

Bản ghi PTR (pointer) trỏ một địa chỉ IP đến một bản ghi A trong chế độ ngược (reverse) và được sử dụng trong kiểu tên miền infrastructure TLD. f SRV(Service)

Bản ghi SRV được sử dụng để xác định vị trí các dịch vụ đặc biệt trong 1 domain, ví dụ tên máy chủ và số cổng của các máy chủ cho các dịch vụ được chỉ định.

Một Client trong trường hợp này có thể nhờ DNS nhận ra rằng, trong tên miền thuyhiend.space có LDAP Server ldap01, mà có thể liên lạc qua cổng TCP Port 389 Các trường trong record SRV :

 TTL: Thời gian RR được giữ trong cache

 Class: standard DNS class, luôn là IN

 Ưu tiên: ưu tiên của host, số càng nhỏ càng ưu tiên

 Trọng lượng: khi cùng bực ưu tiên, thì trọng lượng 3 so với trọng lượng 2 sẽ được lựa chọn 60% (hỗ trợ load balancing)

 Port của dịch vụ (tcp hay udp)

 Target chỉ định FQDN cho host hỗ trợ dịch vụ g CNAME (Canonical Name)

Bản ghi CNAME cho phép một máy tính có thể có nhiều tên Nói cách khác bản ghi CNAME cho phép nhiều tên miền cùng trỏ đến một địa chỉ IP cho trước Để có thể khai báo bản ghi CNAME, bắt buộc phải có bản ghi kiểu A để khai báo tên của máy Tên miền được khai báo trong bản ghi kiểu A trỏ đến địa chỉ IP của máy được gọi là tên miền chính (canonical domain) Các tên miền khác muốn trỏ đến máy tính này phải được khai báo là bí danh của tên máy (alias domain). h MX(Mail Exchange)

Bản ghi MX có tác dụng xác định, chuyển thư đến domain hoặc subdomain đích Bản ghi MX có dạng i.TXT (Text)

Bản ghi TXT(text) được sử dụng để cung cấp khả năng liên kết văn bản tùy ý với máy chủ Chủ yếu dùng trong mục đích xác thực máy chủ với tên miền. j DKIM (DomainKeys Identified Email)

Là bản ghi dùng để xác thực người gửi bằng cách mã hóa một phần email gửi bằng một chuỗi ký tự, xem như là chữ ký k SPF (Sender Policy Framework)

Record SPF được tạo ra nhằm đảm bảo các máy chủ mail sẽ chấp nhận mail từ tên miền của khách hàng chỉ được gửi đi từ server của khách hàng Sẽ giúp chống spam và giả mạo email

1.3 Cơ chế hoạt động của DNS

DNS hoạt động theo từng bước theo cấu trúc của DNS Bước đầu tiên gọi là DNS query, một truy vấn để lấy thông tin

Tình huống tìm kiếm website bằng cách gõ tên miền vào trong web browser (ví dụ: qldt.ptit.edu.vn) Đầu tiên, DNS server sẽ tìm thông tin phân giải trong filehosts – một file text trong hệ điều hành chịu trách nhiệm chuyển hostname thành địa chỉ IP Nếu không thấy thông tin, nó sẽ tìm trọng cache – bộ nhớ tạm của phần cứng hay phần mềm Nơi phổ biến nhất lưu thông tin cache này là bộ nhớ tạm của trình duyệt và bộ nhớ tạm của Internet Service Providers (ISP) Nếu không nhận được thông tin, bạn sẽ thấy mã lỗi hiện lên

Trong trường hợp máy chủ tên miền cục bộ không có cơ sở dữ liệu về tên miền này nó sẽ hỏi lên các máy chủ tên miền ở mức cao nhất (máy chủ tên miền làm việc ở mức ROOT) Máy chủ tên miền ở mức ROOT này sẽ chỉ cho máy chủ tên miền cục bộ địa chỉ của máy chủ tên miền quản lý các tên miền có đuôi vn.

DNS recursor là server đóng vai trò liên lạc với các server khác để thay nó làm nhiệm vụ phản hồi cho client (trình duyệt người dùng) Nó như một nhân viên cần mẫn nhận nhiệm vụ lấy và trả thông tin cho client (trình duyệt) để tìm đúng thông tin chúng cần Để lấy được thông tin, DNS recursor có thể sẽ cần gọi đến Root DNS Server để trợ giúp.

Root DNS Server, cũng thường được gọi là nameserver, là server quan trọng nhất trong hệ thống cấp bậc của DNS Nó không có tên cụ thể Bạn có thể hiểu nó là một thư viện để định hướng tìm kiếm giúp bạn Trên thực tế, DNS recursive resolver sẽ chuyển yêu cầu tới Root Nameserver Sau đó, server này sẽ phản hồi rằng nó cần tìm trong các top-level domain name servers (TLD nameserver) cụ thể nào

Khi bạn muốn truy cập Google hay Facebook, thường phần mở rộng của bạn sẽ dùng là com Nó là một trong các top-level domain Server cho loại top-level domain này gọi là TLD nameserver Nó chịu trách nhiệm quản lý toàn bộ thông tin của một phần mở rộng tên miền chung

Ví dụ như khi bạn gõ www.google.com trên trình duyệt, TLD com sẽ phản hồi từ một DNS resolver để giới thiệu cho nó một Authoritative DNS server Authoritative Name Server là nơi chính thức chứa nguồn dữ liệu của tên miền đó.

Khi một DNS resolver tìm thấy một authoritative nameserver, đây là việc phân giải tên miền diễn ra Authoritative nameserver có chứa thông tin tên miền gắn với địa chỉ nào Nó sẽ đưa cho recursive resolver địa chỉ IP cần thiết tìm thấy trong danh mục các bản ghi của nó.

CÁC DẠNG TẤN CÔNG VÀO DNS

DNS Spoofing

DNS Cache Poisoning (hoặc còn gọi là Spoofing): chiếm quyền điều khiển DNS Cache và tiến hành thay đổi giá trị, thông tin trong đó thành thông tin của giả mạo.

Người dùng gõ địa chỉ www.facebook.com vào thanh địa chỉ của trình duyệt, hệ thống sẽ tiến hành xác nhận thông tin địa chỉ IP tương ứng với tên miền www.facebook.com và trả thông tin lại cho máy tính (kết quả là website www.facebook.com hiển thị đầy đủ trên trình duyệt) 1 tên miền có thể chứa nhiều địa chỉ IP, và khi bạn truy cập vào www.facebook.com thường xuyên thì hệ thống sẽ ghi nhận đây là website cần ghi nhớ, để rút ngắn thời gian cho những lần truy cập sau Tuy nhiên, lợi dụng việc này, kẻ tấn công sẽ thay đổi giá trị của DNS cache, trang web www.facebook.com với địa chỉ IP là 69.171.250.35 sẽ bị thay đổi và điều hướng đến một địa chỉ IP khác chứa trang web độc hại của Attacker.

Tổng Quan

Spring Boot là một công cụ dùng để phát triển các ứng dụng web và các microservice với Spring Framework một cách dễ dàng và nhanh chóng Thông qua Spring Boot, việc cài đặt cấu hình Spring sẽ được giảm tải đi rất nhiều so với cách cài đặt truyền thống Spring Boot hỗ trợ các bộ chứa nhúng (Embedded containers) giúp các ứng dụng web có thể chạy độc lập mà không cần triển khai chúng lên các Web Server Các tính năng của Spring Boot:

1 Tạo ra các ứng dụng Spring độc lập

2 Cung cấp rất nhiều các plugin để phát triển và test các ứng dụng Spring Boot nhanh chóng sử dụng các công cụ như Maven và Gradle

3 Có thể nhúng trực tiếp Tomcat, Jetty hoặc Undertow giúp chạy các ứng dụng web mà không cần phải triển khai file WAR

4 Stater Dependency giúp chạy các cấu hình Maven trở nên đơn giản hơn [5] Không sinh ra code cấu hình, không yêu cầu phải cấu hình bằng XML

Spring Boot là một framework Java giúp cho việc phát triển ứng dụng Java trở nên dễ dàng và nhanh chóng hơn Spring Boot cung cấp các tính năng và cấu hình mặc định, giúp cho các lập trình viên có thể tập trung vào việc phát triển logic ứng dụng của họ. Ưu điểm của Spring Boot:

 Dễ dàng sử dụng: Spring Boot cung cấp các tính năng và cấu hình mặc định, giúp cho các lập trình viên có thể bắt đầu phát triển ứng dụng một cách nhanh chóng.

 Nhanh chóng: Spring Boot giúp cho việc phát triển ứng dụng Java trở nên nhanh chóng hơn.

 Tích hợp tốt với các thư viện và công cụ khác: Spring Boot tích hợp tốt với các thư viện và công cụ khác, giúp cho việc phát triển ứng dụng trở nên dễ dàng hơn.

 Tính linh hoạt: Spring Boot cho phép các lập trình viên tùy chỉnh ứng dụng của họ theo nhu cầu.

Nhược điểm của Spring Boot:

 Không linh hoạt như Spring: Spring Boot cung cấp các tính năng và cấu hình mặc định, có thể không đáp ứng được tất cả các nhu cầu của các ứng dụng.

 Có thể khó hiểu đối với các lập trình viên mới bắt đầu.

Các tính năng chính của Spring Boot:

 Tự động cấu hình: Spring Boot tự động cấu hình các thành phần của ứng dụng, giúp cho các lập trình viên không cần phải viết code cấu hình.

 Cấu hình bằng YAML: Spring Boot hỗ trợ cấu hình bằng YAML, một định dạng cấu hình dễ đọc và dễ hiểu.

 Tích hợp với các thư viện và công cụ khác: Spring Boot tích hợp tốt với các thư viện và công cụ khác, giúp cho việc phát triển ứng dụng trở nên dễ dàng hơn.

 Tính linh hoạt: Spring Boot cho phép các lập trình viên tùy chỉnh ứng dụng của họ theo nhu cầu.

Cách bắt đầu với Spring Boot: Để bắt đầu với Spring Boot, bạn có thể tạo một dự án Spring Boot mới bằng Spring Initializr Spring Initializr là một công cụ trực tuyến cho phép bạn tạo một dự án Spring Boot với các tính năng và thư viện mong muốn.

Sau khi tạo dự án, bạn có thể bắt đầu phát triển ứng dụng của mình Spring Boot cung cấp một số hướng dẫn và tài liệu để giúp bạn bắt đầu. Một số ví dụ về ứng dụng Spring Boot:

 Ứng dụng web: Spring Boot có thể được sử dụng để phát triển các ứng dụng web.

 Ứng dụng API: Spring Boot có thể được sử dụng để phát triển các ứng dụng API.

 Ứng dụng di động: Spring Boot có thể được sử dụng để phát triển các ứng dụng di động.

 Ứng dụng máy tính: Spring Boot có thể được sử dụng để phát triển các ứng dụng máy tính.

Spring Security

Spring Security là một phần của Spring Framework, hỗ trợ việc triển khai các biện pháp bảo mật ở tầng ứng dụng Spring Security hoạt động xoay quanh 2 vấn đề chính là xử lý xác thực và xử lý bảo mật ở cấp độ web request

Spring Security là một framework mạnh và có độ tuỳ biến cao, do đó các lập trình viên có thể sử dụng các cấu hình có sẵn của nó hoặc tuỳ chỉnh theo các bài toán được đặt ra trong hệ thống

Một số tính năng của Spring Security:

[1] Tích hợp các Servlet API

[2] Tích hợp tuỳ chọn với Spring Web MVC

[3] Cung cấp các sự bảo vệ chống lại các cuộc tấn công như session fixation, clickjacking, CSRF,

[4] Hỗ trợ toàn diện và có thể mở rộng cho cả xác thực và phân quyền

Spring Data JPA

Spring Data là một module thuộc Spring Framework Spring Data JPA là một phần của Spring Data, nó được sinh ra để giúp tối giản hoá các bước triển khai JPA (Java Persistance API)

Các tính năng của Spring Data JPA:

[2] Cấu hình JavaConfig bằng cách sử dụng

[3] Hỗ trợ phân trang, thực thi các truy vấn động [4] Hỗ trợ xây dựng các Repositories dựa trên Spring và JPA

[5] Hỗ trợ xác thực các câu truy vấn có chú thích @Query tại thời điểm phát động

JWT

JSON Web Token (JWT) là một tiêu chuẩn mở (RFC 7519) nhằm xác minh tính an toàn cho việc truyền thông tin giữa Client-Server dưới dạng JSON object Thông tin này sẽ được chứng thực và đảm bảo tin cậy vì nó đã được ký số

JWT bao gồm 3 thành phần là Header, Payload và Signature Giữa các thành phần được ngăn cách bởi dấu chấm (.) Ví dụ: aaaaa.bbbbb.ccccc

Cách hoạt động của JWT: khi người dùng muốn truy cập vào các đường dẫn hoặc tài nguyên đã được bảo vệ thì trong request được gửi đi phải có JWT được đính kèm ở Authorization header Phía server sẽ kiểm tra JWT để xem người dùng có hợp lệ và đủ đặc quyền để được truy cập tài nguyên đó hay không, nếu hợp lệ thì người dùng sẽ được phép truy cập và ngược lại người dùng sẽ không được phép truy cập vào tài nguyên đó.

DNS Spring Boot là một thư viện hỗ trợ giải quyết tên miền trong các ứng dụng Spring Boot Thư viện này cung cấp một số tính năng hữu ích, bao gồm:

 Giải quyết IP từ tên miền

 Giải quyết tên miền từ IP

 Giải quyết dịch vụ từ tên miền

 Giải quyết IP từ dịch vụ

DNS Spring Boot được xây dựng trên top của thư viện DNSJava, một thư viện DNS phổ biến Thư viện này cung cấp khả năng giải quyết tên miền trên nhiều máy chủ DNS khác nhau. Để sử dụng DNS Spring Boot, bạn cần thêm thư viện này vào dự án Spring Boot của mình Sau đó, bạn có thể sử dụng lớp DnsResolver để giải quyết tên miền.

Lớp DnsResolver cung cấp các phương thức sau để giải quyết tên miền:

 resolveIpAddress(String hostname): Giải quyết IP từ tên miền

 resolveServiceEntry(String serviceType, String domain): Giải quyết dịch vụ từ tên miền

 resolveServiceIpAddress(String serviceType, String domain): Giải quyết IP từ dịch vụ

 Cung cấp khả năng giải quyết tên miền trên nhiều máy chủ

DNS: DNS Spring Boot được xây dựng trên top của thư viện DNSJava, một thư viện DNS phổ biến Thư viện này cung cấp khả năng giải quyết tên miền trên nhiều máy chủ DNS khác nhau.

 Hỗ trợ các loại truy vấn DNS khác nhau: DNS Spring Boot hỗ trợ các loại truy vấn DNS khác nhau, bao gồm truy vấn A, truy vấn MX, và truy vấn SRV.

 Tích hợp tốt với Spring Boot: DNS Spring Boot được tích hợp tốt với Spring Boot, giúp cho việc sử dụng thư viện này trở nên dễ dàng và thuận tiện.

Dưới đây là một ví dụ về cách sử dụng DNS Spring Boot để giải quyết IP từ tên miền:

Java import org.springframework.security.remoting.dns.DnsResolver; public class Example { public static void main(String[] args) {

// Giải quyết IP từ tên miền

String ipAddress = dnsResolver.resolveIpAddress("google.com");

System.out.println("IP address of google.com: " + ipAddress);

Kết quả chạy chương trình:

IP address of google.com: 142.250.181.11

DNS Spring Boot là một thư viện hữu ích cho các ứng dụng Spring Boot cần giải quyết tên miền Thư viện này cung cấp một số tính năng hữu ích và dễ sử dụng

Demo

IntelliJ của JetBrains

Qua trải nghiệm của cá nhân mình khuyên các bạn nên sử dụng IntelliJ để code Spring Boot vì nó đem lại cảm giác rất tốt, gợi ý code thông minh và ít lỗi hơn Eclipse (cũng dễ hiểu, vì Eclipse là hàng miễn phí có license của IntelliJ khá là đắt nên tốt hơn là cũng đúng thôi.Nhưng không vì thế mà các bạn không có cơ hội trải nghiệm phiên bản xịn xò của IntellJ đâu nhé, đặc biệt là với các bạn sinh viên, chỉ cần có mail edu được nhà trường cung cấp thì các bạn có thể tham gia chương trình GitHub Student Developer

Pack với những ưu đãi license rất lớn cho sinh viên sử dụng các tool chất lượng, trong đó có bộ sản phẩm của JetBrains với thời hạn 1 năm, gồm IntelliJ, DataGrip, WebStorm và cực nhiều những IDE chất lượng khác của hãng này Nếu bạn là sinh viên và muốn trải nghiệm thì hãy tìm hiểu trong bài viết này nhé, chỉ cần vài bước xác thực là bạn đã có thể sử dụng IntelliJUltimate miễn phí trong 1 năm rồi.

Spring Initializr

Về ưu điểm của Spring Boot so với Spring Framework là tối ưu quá trình config dự án cho dev, Spring Initializr chính là một yếu tố quan trọng của quá trình tối ưu đó.

Spring Initializr là một công cụ giúp chúng ta khởi tạo project Spring Boot một cách nhanh chóng Spring Initializr có địa chỉ tại https://start.spring.io/, đối với IntelliJ Ultimate thì công cụ này được tích hợp trong IDE luôn, rất tiện.

Spring Initializr yêu cầu khai báo một số thông tin của project như trong hình trên:

Loại project: lựa chọn package manager cho project, Maven hoặc Gradle Language: ngôn ngữ lập trình sử dụng cho project

Spring Boot: phiên bản Spring Boot được sử dụng cho project

Packaging: lựa chọn loại file build ra, JAR hay là WAR

Java: phiên bản Java được sử dụng cho project

Ngoài ra còn có phần Project Metadata với các trường thông tin như:

Group: thông tin về nhóm project

Artifact: thông tin về ID project

Package name: tên của package project sau khi khởi tạo

Ngày đăng: 22/11/2024, 19:49

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN