웹 인터페이스 기본 설정

VRED Professional 내부 웹 서버를 활성화하고 필요한 경우 디버그 모드를 켭니다. 웹 서버를 활성화하면 원격 Python 명령을 실행할 수 있습니다. 로컬 방화벽을 사용하는 것이 좋습니다.

메뉴 막대에서 편집 > 기본 설정을 클릭한 다음 대화상자 왼쪽에서 일반 설정 > 웹 인터페이스를 선택합니다. 변경한 후 적용 및 저장을 눌러 저장합니다.

기준

  • 웹 서버 사용 - 원격 Python 명령을 실행할 수 있습니다. 선택한 경우 다음과 같은 옵션을 사용할 수 있습니다.

  • 포트 - 서버 포트를 표시합니다. 여기서 SSL 및 비 SSL 요청이 처리됩니다.

  • 암호화된 HTTPS만 - 암호화된 연결 요청을 활성화(거부)하거나 비활성화(허용)합니다.

    중요:

    이 옵션은 시스템 변수 VRED_FORCE_HTTPS를 사용하여 켜거나 끌 수 있습니다. 암호화되지 않은 통신 요청을 수락 또는 거부할지 여부를 결정합니다. 환경 변수를 설정하면 인터페이스에서 ‘암호화된 HTTPS만’이 회색으로 처리됩니다.

    VRED_FORCE_HTTPS가 활성화된 경우 VRED는 암호화되지 않은 연결 요청을 거부하여 웹 브라우저와 VRED 간의 통신 기록을 차단합니다.

    참고:

    기존 구성(버전 2024 이전에 작성됨)은 변경되지 않습니다. 하지만 이 옵션이 비활성화되지 않는 한 새 구성에는 https만 허용됩니다.

  • 보안 Python - 활성화된 경우 원격 위치에서 Python 명령을 실행할 수 있습니다.

  • 디버그 모드 사용 - VRED 터미널에서 향상된 로깅을 사용하도록 설정합니다.

  • 인증서 파일 - 자체 서명된 인증서를 생성합니다. 사용할 인증서를 정의한 다음 브라우저가 신뢰하는 인증서를 정의해야 합니다. 이 작업은 자체 서명된 인증서를 사용하여 수행합니다. 유효하지 않은 신뢰할 수 없는 인증서에 대한 브라우저 경고를 방지하려면 Windows 인증서 신뢰 저장소에 이 인증서를 설치합니다.

    인증서 파일 선택 인증서 파일 선택 - 사용된 인증서를 정의합니다.

    자체 서명된 인증서 만들기 자체 서명된 인증서 만들기 - 자체 서명된 인증서 만들기 대화상자를 열어 개별 VRED 웹 서버 인스턴스를 서명하는 데 사용할 자체 서명된 VRED 인증서를 작성합니다.

    인증서 정보 인증서 정보 - 인증서 정보 대화상자를 열고 버전, 일련 번호, 유효성 등 인증서에 대한 정보를 제공합니다.

사용자 지정 웹 루트 디렉토리

이러한 옵션은 사용자 지정 웹 루트 디렉토리를 활성화하고 설정하는 데 사용됩니다. 모든 장치에서 웹 브라우저를 통해 액세스할 수 있는 VREDStreamApp과 같이 포함된 VRED 스트림이 있는 웹 응용프로그램을 작성하는 경우 사용자 지정 웹 페이지를 로컬 파일 위치에 저장합니다. VRED 웹 서버가 웹 페이지를 실행할 수 있도록 디렉토리에 이를 정의합니다.

참고:

index.html을 VRED 허브 페이지에서 이미 사용 중이므로 사용자 지정 HTML은 이를 호출해서는 안 됩니다. 디렉토리가 기본 설정에서 사용자 지정 페이지로 설정된 후(예: MyIndex.html) http://hostname:8888/MyIndex.html URL을 사용하여 모든 장치에서 페이지에 액세스합니다.

또한 VRED 스트림에 새 URL 속성을 추가했으므로 이제 전체 화면을 설정하고 키보드 입력을 비활성화하고 URL에서 직접 탐색을 비활성화할 수 있습니다.

  • 파일 액세스 사용 - 디렉토리 옵션에 지정된 사용자 지정 웹 루트 디렉토리에 대한 파일 액세스를 활성화합니다.

  • 디렉토리 - 파일 액세스 사용이 활성화된 경우에만 사용할 수 있습니다. 파일에 액세스하기 위한 웹 루트 디렉토리를 지정합니다.

    웹 루트 디렉토리 선택 웹 루트 디렉토리 선택 - 사용되는 웹 루트 디렉토리를 정의합니다.

호스트 액세스

다음 옵션은 웹 브라우저가 신뢰할 수 있는 소스를 설정합니다.

  • 제한 사항 - 웹 브라우저가 신뢰할 수 있는 소스에 대한 제한 사항이 있는지 결정합니다.

    • 제한 없음 - 제한 사항이 없습니다. 웹 브라우저가 모든 소스를 신뢰합니다.
    • 로컬 호스트 - 로컬 호스트를 제외한 다른 모든 호스트에 대한 액세스를 거부합니다. 웹 브라우저가 로컬 호스트만 신뢰합니다.
    • 호스트 목록 - 호스트 이름을 입력할 수 있습니다. 웹 브라우저가 나열된 호스트 목록의 모든 소스를 신뢰합니다.

  • 호스트 목록 - 제한 호스트 목록이 설정된 경우 호스트 목록 필드가 활성화되어 웹 브라우저에서 신뢰할 수 있는 호스트를 입력할 수 있습니다. 마우스 오른쪽 버튼 클릭 메뉴를 사용하여 목록을 수정합니다.

인증

보안이 한층 더 강화되지만 사용자가 로그인하여 암호를 입력해야 합니다.

  • 인증 모드 - 웹 서버에 대한 인증이 필요하지 않은 경우 인증 없음을 선택합니다. 사용자 및 암호를 설정하고 보안을 강화하려면 사용자 이름 및 암호를 사용하여 로그인을 선택합니다. 이 필드 아래의 버튼을 사용하여 사용자를 추가 또는 제거하고 암호를 변경할 수 있습니다.

자체 서명된 인증서를 생성하는 방법

VRED는 자체 서명된 VRED 인증 기관을 추가했습니다. 이 인증서를 사용하여 개별 VRED 웹 서버 인스턴스에 서명할 수 있습니다. 인증서를 작성하고, 액세스를 정의하고, 필요한 경우 인증을 설정해야 합니다.

자체 서명된 인증서 작성

  1. 편집 > 기본 설정 > 일반 설정 > 웹 인터페이스를 선택합니다.

  2. 인증서 파일 옆에 있는 인증서 파일 선택을 클릭하여 사용할 인증서를 정의합니다.

  3. 자체 서명된 인증서 만들기(자체 서명된 인증서 만들기 버튼)를 클릭하여 인증서를 만들고 인증서의 고유 이름을 입력한 다음 저장을 클릭합니다.

  4. 호스트 액세스 섹션의 제한 사항에서 웹 브라우저가 신뢰할 수 있는 소스를 설정합니다.

  5. 인증 섹션에서 인증 모드를 사용자 이름 및 암호로 로그인으로 변경합니다.

  6. 추가 버튼을 클릭한 다음 사용자 이름 및 암호를 추가합니다.

  7. 적용 및 저장을 클릭합니다. 사용자 섹션에 새 사용자가 표시됩니다.

    사용자

CORS(교차 원점 리소스 공유)

이 기능을 사용하면 VRED에서 실행되는 웹 응용프로그램에서 YouTube 동영상 재생과 같은 작업을 수행하기 위해 다른 웹 사이트의 컨텐츠에 액세스할 수 있습니다.

웹 인터페이스 기본 설정의 CORS

  • 교차 원점 요청 사용 - 웹 페이지의 리소스를 첫 번째 리소스가 제공된 도메인 외부의 다른 도메인에서 요청할 수 있습니다.

  • 허용되는 원점 - 교차 원점 요청 사용이 활성화된 경우에만 사용할 수 있습니다. 웹 인터페이스에서 교차 원점 요청 공유에 의해 표시될 URL 도메인을 입력합니다. 마우스 오른쪽 버튼 클릭 메뉴를 사용하여 허용되는 원점 목록을 수정할 수 있습니다.

VREDServer용 CORS(교차 원점 리소스 공유)

CORS(교차 원점 리소스 공유)가 일부 요청에서 VREDServer에 대해서도 구현되었습니다.

  • CORS에 대한 HTTP 헤더 - 다음은 교차 원점 요청 공유에 대한 HTTP 헤더입니다.

실행 전(OPTIONS)

Access-Control-Allow-Origin: *

Access Control Allow methods: GET,HEAD,PUT,PATCH,POST,DELETE

Access Control Allow Headers: content-type

실제 요청(GET)

Access-Control-Allow-Origin: *

작동 방식

HOST 또는 PORT가 현재 웹 사이트/웹 응용프로그램을 실행 중인 것과 다른 호스트 또는 포트이고 웹 응용프로그램이 Javascript를 통해 이 다른 호스트로 요청을 보내려고 시도하는 경우 HOST가 요청에 동의합니다. 그러지 않으면 브라우저가 요청을 보내지 않습니다.

  1. 브라우저는 HOST가 동의하는 경우 "OPTIONS" HTTP 메서드를 사용하여 실행 전(Preflight) 요청에서 다른 HOST 또는 PORT를 요청합니다. 위의 실행 전에서와 같이 HTTP 헤더에 응답하는 경우 이는 실제 요청입니다.

  2. 브라우저가 실제 요청을 보냅니다. 여기에서도 HTTP 헤더가 위와 같이 실제 요청에 포함되어야 합니다. 이렇게 설정되어야 하며, 그렇지 않으면 브라우저가 응답을 처리하지 않습니다.

헤더 및 헤더의 작동 방식에 대한 자세한 내용은 Access-Control-Allow-OriginCORS(교차 원점 리소스 공유)를 참조하십시오.