HTTPD 없이 도메인을 서버로 지정

HTTPD 없이 도메인을 서버로 지정

Oracle Cloud 무료 계층에 VM이 있고 전용 IPv4가 있습니다. 이 서버에 MariaDB를 설치했습니다. 도메인으로 MariaDB에 액세스하기 위해 도메인 이름(example.com)을 해당 컴퓨터로 가리키고 싶습니다. 예를 들어 PHP 코드 내에서 xxx.xxx.xxx.xxx:3306 대신 example.com:3306을 사용합니까?

nginx/apache httpd를 설치하지 않고 어떻게 할 수 있나요?

답변1

  1. 먼저 example.com의 설정을 제어할 수 있는 모든 항목에 로그인합니다. 그런 다음 이름 서버를 적절하게 설정합니다. 여기에서 가입하여 cloudflare를 무료로 쉬운 솔루션으로 사용할 수 있으며, 도메인에 대한 이름 서버를 사용할 수 있습니다(예를 들어 fay.ns.cloudflare.com 및 ara.ns.cloudflare를 제공할 수 있습니다. com). 그렇게 했다면 이제 DNS 레코드를 추가할 차례입니다. cloudflare 계정에 로그인하고 DNS 섹션에서 A RECORD(ipv4 주소)를 생성하여 @(하위 도메인이 없는 example.com을 의미)를 xxx로 지정합니다. xxx.xxx.xxx. 그리고 그것은 작동해야합니다.

  2. 자신만의 도메인을 갖고 싶지 않고 이러한 모든 이름 서버 작업을 수행하고 싶지 않은 경우 로컬 솔루션이 있습니다. example.com이 xxx.xxx.xxx.xxx로 해석되어야 한다고 개발 시스템에 알릴 수 있습니다. Linux에서는 /etc/hosts 파일을 편집하고 다음 줄을 추가하면 됩니다.

xxx.xxx.xxx.xxx example.com

그러나 두 번째 솔루션은 이러한 종류의 구성을 가진 시스템에서만 작동하며 이전 솔루션처럼 전역적이지 않다는 점에 유의하세요.

두 경우 모두 웹서버를 설정할 필요가 없습니다. DNS는 웹에 구애받지 않습니다. 웹 서버가 있든 없든, 심지어 주소가 실제 서버에 속해 있는지, 아니면 단지 임의의 숫자인지에 관계없이 발생합니다.

귀하의 경우 중요한 것은 포트가 외부에서 액세스 가능하고(방화벽을 올바르게 구성) 로컬(127.0.0.1:3306)뿐만 아니라 xxx.xxx.xxx.xxx:3306에서도 포트를 수신하고 있다는 것입니다. 일반적으로 0.0.0.0:3306을 와일드카드로 사용하여 0.0.0.0:3306을 수신하여 모든 항목을 수신합니다.

답변2

MySQL 또는 MariaDB를 실행하거나 액세스하는 데 httpd는 필요하지 않습니다. 동일한 시스템에서 웹서버를 실행하고 싶지 않다면 설치하지 마세요.

외부 인터페이스에서 수신하도록 MySQL을 구성해야 하며(0.0.0.0에서 수신하도록 구성) 기본값은 루프백 인터페이스입니다. 권한을 올바르게 설정하는 것을 잊지 마십시오.

필요한 경우 방화벽/보안 그룹에서 데이터베이스의 TCP 포트(이 경우 3306)를 열면 완료됩니다. 이상적으로는 웹서버만 연결하도록 허용하세요.

답변3

MySQL을 외부 네트워크에 개방하는 경우 보안에 매우 주의해야 합니다.

  • 해당 서버에 대한 액세스가 제한되어 있는지 확인하세요(예: 공용 인터넷의 방화벽 뒤에 있음)
  • 공용 인터넷에 있어야 하는 경우 TLS 인증서를 구성하고 연결할 때 TLS 암호화를 사용하세요.
  • 모든 사용자 계정에 적절한 자격 증명이 있는지 확인하십시오.

관련 정보