HTTP 팜 프로필에 대한 전역 설정 #
이 프로필은 HTTP 및 HTTPS 프로토콜 모두에 대해 레이어 7 애플리케이션 제공 시 콘텐츠 전환을 관리합니다.
![]()
The 농장현황 아래 설명된 대로 색상 표시기를 사용하여 표시됩니다.
- 초록색: 수단 UP. 팜이 실행 중이고 모든 백엔드가 작동 중이거나 리디렉션이 구성되어 있습니다.
- 빨간색: 수단 DOWN. 농장이 중지되었습니다.
- 검정: 표시 결정적인 손상. 팜이 작동 중이지만 사용 가능한 백엔드가 없거나 유지 관리 모드에 있습니다.
- 파란색: 있다는 뜻이다. 문제. 팜이 실행 중이지만 하나 이상의 백엔드가 다운되었습니다.
- 주황색: 수단 유지 보수. 팜이 실행 중이지만 하나 이상의 백엔드가 유지 관리 모드에 있습니다.
이러한 색상 코드는 그래픽 사용자 인터페이스 전체에서 동일합니다. 이러한 색상에 대한 간략한 설명은 다음에서 찾아보세요. LSLB 농장 섹션.
HTTP(S) 팜 프로필에서 HTTP 헤더 X는 - 전달 - 용 기본적으로 클라이언트 IP 주소로 채워집니다.
각 HTTP(S) 팜(또는 가상 서비스)은 역방향 프록시와 같은 여러 서비스를 관리하므로 하나의 HTTP 가상 IP 및 포트 쌍이 둘 이상의 부하 분산 웹 서비스를 처리할 수 있습니다. 따라서 이라는 섹션이 있습니다. 서비스 HTTP 팜에서 가상 호스트 유연성을 제공하고 각 서비스에 대한 백엔드 목록 생성을 허용합니다.
각 HTTP(S) 서비스는 PCRE의 정규식 조합(가상 호스트 및 URL 패턴용)을 사용하여 HTTP 헤더가 두 가지 모두와 일치하는 모든 수신 연결을 관리합니다.
기본 구성 #
다음은 HTTP/S 팜 프로필의 기본 매개변수입니다.
이름. 팜을 쉽게 식별할 수 있는 이름입니다. 특정 팜의 이름을 변경하려면 먼저 해당 팜을 중지해야 합니다. 새 이름이 이미 사용되고 있지 않은지 확인하십시오.
가상 IP 및 포트. 이는 팜이 들어오는 연결을 수신하는 가상 IP 주소 및 포트 쌍입니다. 새 IP 주소와 포트 조합은 구성하기 전에 사용되지 않고 사용 가능해야 합니다.
경청자. 이 필드는 콘텐츠 전환을 위해 레이어 7에서 관리할 프로토콜을 지정합니다.
- HTTP. 가상 서비스는 일반 HTTP 콘텐츠만 이해합니다.
- HTTPS. 가상 서비스는 보안 HTTP 콘텐츠를 이해하고, SSL 핸드셰이크를 관리하고, 보안 암호화 구성, SSL 인증서(와일드카드 또는 SNI) 등을 처리하여 SSL 오프로드를 수행하고 이러한 무거운 작업에서 실제 애플리케이션 서버를 덜어줍니다.
HTTPS 매개변수 #
HTTPS 매개변수 아래에서 찾을 수 있습니다.
SSLV2 비활성화, SSLV3 비활성화, TLSV1 비활성화, TLSV1.1 비활성화, TLSV1.2 비활성화 선택 가능한 버튼이 선택된 경우 해당 프로토콜을 사용하지 마십시오. 프로토콜이 비활성화되면 해당 암호도 비활성화됩니다.
암호문. 이 필드는 해당 연결을 강화하기 위해 SSL 연결에서 허용하는 암호 목록을 작성하는 데 사용됩니다. 클라이언트와 서버는 TLS로 보호되는 정보 교환을 시작하기 전에 데이터를 암호화할 때 사용할 암호화 키와 암호를 안전하게 교환하거나 이에 동의해야 합니다.
사용할 암호를 구성하려면 다음 옵션 중 하나를 선택하세요.
- 전부의. 이 항목은 HTTPS 리스너에서 모든 암호를 관리할 수 있음을 나타냅니다. 이것이 기본 설정입니다.
- 높은 보안. 이 명령은 다음 암호를 활성화합니다.
kEECDH+ECDSA+AES128:kEECDH+ECDSA+AES256:kEECDH+AES128:kEECDH+AES256:kEDH+AES128:kEDH+AES256:DES-CBC3-SHA:+SHA:!aNULL:!eNULL:!LOW:!kECDH:!DSS:!MD5:!EXP:!PSK:!SRP:!CAMELLIA:!SEED
통과하기에 충분할 것입니다. A+ in SSL 연구소 .
- 맞춤형 보안. 이 명령을 사용하면 다음을 통해 자신만의 허용된 암호를 설정할 수 있습니다. 맞춤 암호화 입력란입니다.
- 맞춤 암호화. 이를 통해 SSL 연결에서 사용을 허용하거나 금지할 암호를 사용자 정의할 수 있습니다. 다음과 같은 형식의 문자열이어야 합니다. OpenSSL 암호화 . 이 명령은 다음과 같은 경우에 표시됩니다. 맞춤형 보안 설정됩니다.
사용 가능한 인증서. 이는 장치에 설치된 사용 가능한 SSL 인증서입니다. 그 중 하나를 활성화하려면 인증서를 선택하고 화살표 버튼을 클릭하거나 간단히 사용 가능 상자에서 활성화됨 상자로 끌어서 놓으십시오. 여러 인증서 또는 인증서 전체를 활성화/비활성화할 수도 있습니다.
활성화된 인증서. 이 목록에서는 현재 팜에서 사용 중인 인증서를 관리합니다. 이중 위쪽/아래쪽 화살표를 사용하여 위쪽이나 아래쪽으로 이동하거나 모두 비활성화할 수도 있습니다. 인증서의 순서를 고려하십시오. 호스트 인증서보다 와일드카드 인증서를 구성하는 경우 와일드카드가 먼저 사용됩니다.
"계정 정보"에서 #
위치 헤더 다시 작성. 활성화된 경우 팜은 강제로 수정해야 합니다. 오시는 길 콘텐츠 위치 클라이언트에 대한 응답 헤더. 백엔드 자체 또는 VIP 값이 있지만 프로토콜이 다른 경우 요청에 가상 호스트를 표시하도록 응답이 수정됩니다. 토글 버튼의 경우, 백엔드 활성화 및 비교 활성화되면 백엔드 IP 주소만 비교됩니다. 이는 HTTP 수신기와 동일한 서버에 있는 HTTPS 수신기로 요청을 리디렉션하는 데 필수적입니다. 이 필드가 서비스 섹션에 구성된 경우 해당 서비스에 대해 이 지시어가 무시됩니다.
HTTP 동사가 허용됨. 이 필드는 HTTP 클라이언트 요청의 유효성을 검사하는 데 사용되는 HTTP 메서드를 나타냅니다. 클라이언트 요청이 허용되지 않으면 클라이언트에 오류가 표시됩니다. 각 동사에는 추가로 낮은 수준의 동사가 있습니다.
- 표준 HTTP 요청. 표준 HTTP 요청(GET, POST, HEAD).
- + 확장된 HTTP 요청. 확장된 HTTP 요청(PUT, DELETE).
- + 옵션 HTTP 동사. 확장된 HTTP 요청(PUT, DELETE).
- + 표준 WebDAV 동사. 표준 WebDAV 동사(LOCK, UNLOCK, PROPFIND, PROPPATCH, SEARCH, MKCOL, MOVE, COPY, OPTIONS, TRACE, MKACTIVITY, CHECKOUT, MERGE, REPORT).
- + MS 확장 WebDAV 동사. MS 확장 WebDAV 동사(SUBSCRIBE, UNSUBSCRIBE, NOTIFY, BPROPFIND, BPROPPATCH, POLL, BMOVE, BCOPY, BDELETE, CONNECT).
- + MS RPC 확장 동사. MS RPC 확장 동사(RPC_IN_DATA, RPC_OUT_DATA).
백엔드 연결 시간 초과. 이 값은 팜이 백엔드에 대한 연결을 기다려야 하는 시간(초)을 나타냅니다. 일반적으로 소켓 열기 대기 시간이 됩니다. 기본적으로 이 값은 20초로 설정됩니다.
부활된 백엔드를 확인하는 빈도. 이는 로드 밸런서가 백엔드에 연결할 수 있는지 확인하고 블랙리스트에 올라 있는 실제 서버가 작동 중인 경우 해당 서버를 꺼내기 위해 기다리는 빈도입니다. 새 클라이언트 연결 여부에 관계없이 실제 서버가 다운된 것으로 표시되면 팜은 주기적으로 백엔드를 확인합니다. 기본적으로 이 값은 10초로 설정됩니다.
백엔드 응답 시간 초과. 이 값은 팜이 백엔드의 응답을 기다려야 하는 시간(초)을 나타냅니다. 기본적으로 이 값은 45초로 설정됩니다.
클라이언트 요청 시간 초과. 이 값은 팜이 클라이언트 요청을 기다려야 하는 시간을 나타냅니다. 클라이언트로부터 데이터를 가져오지 않고 이 시간 초과에 도달하면 연결이 종료됩니다. 기본적으로 이 값은 30초로 설정됩니다.
HTTP 오류 메시지 #
개인화된 오류 메시지. 팜 서비스는 실제 서버에서 웹 코드 오류가 감지되면 사이트에 사용자 정의 메시지를 표시합니다. 오류 코드 414, 500, 501 및 503에 대해 개인화된 HTML 페이지가 표시됩니다.
- 414: 요청-URI가 너무 김. URI가 허용되는 최대 문자 수에 도달한 경우 HTTP/S 프로필에서 표시되는 오류 메시지입니다. 이 오류가 발생하면 URL 길이를 줄이세요.
- 500 내부 서버 오류. 백엔드에서 예상치 못한 명령이 발생할 경우 HTTP/S 프로필에서 표시되는 오류 메시지입니다.
- 501: 구현되지 않음. 요청 동사가 프록시나 백엔드에서 관리되거나 알려지지 않은 경우 HTTP/S 프로필에서 표시되는 오류 메시지입니다.
- 503: 서비스를 이용할 수 없음. 이는 프록시가 요청에 사용 가능한 백엔드를 찾지 못한 경우 HTTP/S 프로필에서 표시되는 오류 메시지입니다. 이는 모든 백엔드 또는 서버가 다운되거나 요청의 정규 표현식이 구성된 서비스와 일치하지 않기 때문에 발생할 수 있습니다.
- WAF 403: 금지됨. 이는 WAF가 활성화되어 있고 WAF 엔진이 요청을 거부하는 경우 HTTP/S 프로필에서 표시되는 오류 메시지입니다.
헤더 #
이 섹션에서는 구성된 모든 서비스에 작업을 적용하여 요청 및 응답 헤더를 전역적으로 추가, 수정 또는 삭제할 수 있습니다. 서비스 섹션에 헤더가 구성된 경우 해당 구성은 삭제됩니다.

이 섹션에서 사용할 작업은 다음과 같습니다.
규칙 만들기. 전역 헤더가 생성됩니다.
.. 전역 헤더가 삭제됩니다.
이 섹션에서는 추가, 수정 또는 생성이 가능합니다. 헤더 아래 이미지와 같이 요청과 응답이 있습니다.
타입.
- 요청: 헤더 제거. 클라이언트 HTTP 요청에서 제거될 헤더 패턴입니다.
- 요청: 헤더 수정. 클라이언트 HTTP 요청에서 헤더를 수정합니다.
- 요청: 헤더 추가. 클라이언트 HTTP 요청에 추가될 헤더입니다.
- 응답: 헤더를 제거하세요. 백엔드 HTTP 응답에서 제거될 헤더 패턴입니다.
- 응답: 헤더 수정. 백엔드 HTTP 응답에서 헤더를 수정합니다.
- 응답: 헤더를 추가하세요. 백엔드 HTTP 응답에 추가될 헤더입니다.
서비스 설정 #
HTTP 프로필이 있는 LSLB 팜 내의 서비스는 웹 가상 서비스에 대한 콘텐츠 전환 기능을 제공하여 동일한 가상 IP 및 PORT. 이것은 웹 애플리케이션 통합 단일 도메인을 통해 가상 호스트 관리, URL 관리, 리디렉션 구성, 서비스당 지속성 및 백엔드 구성. LSLB 팜 내의 각 서비스에는 서로 다른 속성, 상태 확인, 지속성, 헤더 관리 및 백엔드 목록이 있습니다. 요청별로 사용할 서비스를 지정하는 조건을 일치시키기 위해 정규식을 사용할 수 있습니다.
각 서비스 일치 조건은 우선 순위 모드에서 HTTP 팜 프로필 코어에 의해 확인됩니다(필요한 경우 변경 가능). 일치하는 서비스가 없으면 팜 코어는 오류(HTTP 오류 503)를 반환합니다. 이러한 이유로 특정 다중 서비스 정의가 허용됩니다. URL 및 호스트 필드가 정의되지 않은 경우 모든 요청이 일치합니다. HTTP 서비스 조건은 가상 호스트 및/또는 URL 패턴에 따라 결정됩니다.
먼저 백엔드를 추가하려면 서비스를 하나 이상 생성해야 합니다. 새 서비스가 적용되면 HTTP 서비스는 목록 순서에 따라 위에서 아래로 평가됩니다. 호스트 및/또는 URL 필드에서 일치하는 첫 번째 서비스가 요청을 처리합니다. 이러한 서비스 조건은 URL 또는 호스트 패턴에 따라 결정됩니다.
일치하는 서비스 조건은 다음과 같습니다.
가상 호스트. 이 필드는 HTTP 팜에서 정의한 것과 동일한 가상 IP 및 포트를 통해 도메인 이름으로 결정되는 조건을 지정합니다. 이 조건을 삭제하려면 비워 두세요. 이 필드는 PCRE 형식의 정규식을 지원합니다.
URL 패턴. 이 필드는 클라이언트가 요청하는 URL에 따라 웹 서비스를 결정합니다. 이 URL은 구문적으로 확인되는 특정 URL 패턴을 사용하여 확인됩니다. 이 조건을 삭제하려면 비워 두세요. 이 필드는 PCRE 형식의 정규식을 지원합니다.
The 가상 호스트 URL 패턴 값은 정규식입니다. 비워두면 모든 값이 일치합니다. 두 필드가 모두 일치해야 합니다. 그렇지 않으면 다음 서비스로 건너뜁니다. 하단에 일치하는 항목이 없으면 기본값으로 사용되는 것을 하나 이상 사용하는 것이 좋습니다.
위치 헤더 다시 작성. 활성화된 경우 서비스는 강제로 오시는 길 콘텐츠 위치 클라이언트에 대한 응답 헤더. 백엔드 자체 또는 VIP(그러나 다른 프로토콜 사용)의 값이 있는 경우 요청에 가상 호스트를 표시하도록 응답이 수정됩니다. 토글 버튼의 경우 백엔드 활성화 및 비교 활성화되면 백엔드 IP 주소만 비교됩니다. 이는 HTTP 수신기와 동일한 서버에 있는 HTTPS 수신기로 요청을 리디렉션할 때 필수적입니다. 백엔드 활성화 및 비교를 선택하면 다음과 같은 플래그가 표시됩니다. 다시 쓰기 위치 헤더에 대한 경로 활성화 사용할 수 있습니다. 작업하는 경우 이 플래그를 활성화하십시오. URL 재작성. 이 값은 URL 응답을 확인하도록 강제하고 규칙이 구성된 경우 응답을 원본으로 변경합니다. URL 재작성. 이 필드가 활성화되면 전역 섹션의 동일한 지시어가 재정의됩니다.
로드 밸런싱 스케줄러. 이 필드는 백엔드 서버를 결정하는 데 사용할 로드 밸런싱 알고리즘을 지정합니다. 기본적으로 가중치 알고리즘이 기본 선택 알고리즘이 됩니다.
- 무게: 무게에 따른 연결 선형 파견. 각 백엔드에 할당된 가중치 값에 따라 연결의 균형을 유지합니다. 요청은 정의된 가중치를 사용하는 확률적 알고리즘을 사용하여 전달됩니다.
- 최소 응답: 백엔드 응답에 따른 동적 가중치. 백엔드의 성능 시간에 따라 백엔드 가중치를 동적으로 재조정합니다. 응답 시간이 빨라지면 실제 서버에 대한 연결이 늘어납니다.
리디렉션 #
서비스에 리디렉션 옵션이 활성화되어 있으면 모든 요청이 지정된 URL로 전송되므로 백엔드 서버가 사용되지 않을 수 있습니다.
리디렉션 유형. 리디렉션 유형에는 두 가지가 있습니다. 태만 추가. 와 더불어 태만 유형을 입력하면 URL은 리디렉션할 절대 호스트 및 경로로 사용됩니다. 와 더불어 추가 유형을 입력하면 원래 요청 경로가 호스트와 지정한 경로에 추가됩니다.
리디렉션 URL. 이 매개변수는 요청에 응답한 후 클라이언트가 리디렉션되는 위치를 제어합니다. 클라이언트 요청은 새 URL로 리디렉션되어 자동으로 응답됩니다. 리디렉션 값을 구성하는 경우 백엔드를 구성하지 마세요 이 서비스에서는. 만약 가상 호스트 그리고 URL 패턴 일치하면 어플라이언스가 HTTP를 보냅니다. 위치 헤더 구성된 URL로 리디렉션되기 위해 클라이언트에 응답합니다.
리디렉션 코드. 301(영구 이동), 302(임시 이동) 또는 307(임시 리디렉션) 등 여러 리디렉션 HTTP 코드를 사용할 수 있습니다.
고집 #
고집. 이 매개변수는 HTTP 서비스가 클라이언트 세션을 관리하는 방법과 안전한 클라이언트 세션을 유지하기 위해 제어해야 하는 HTTP 연결을 정의합니다. 지속성 세션 유형을 선택하면 해당 세션의 TTL(Time To Live) TTL(초)이 표시됩니다.
- 지속성 없음. 팜 서비스는 클라이언트 세션을 제어하지 않습니다. HTTP 또는 HTTPS 요청은 실제 서버로 전달됩니다.
- IP: 클라이언트 주소. 클라이언트 IP 주소는 실제 서버를 통해 클라이언트 세션을 열어두는 데 사용됩니다.
- BASIC: 기본 인증. HTTP 기본 인증 헤더는 클라이언트 세션을 제어하는 데 사용됩니다. 예를 들어, 웹 페이지가 클라이언트로부터 기본 인증을 요청하면 HTTP 헤더에는 다음과 같은 문자열이 포함됩니다.
HTTP/1.1 401 인증 필요 서버: HTTPd/1.0 날짜: 27년 2011월 10일 토요일 18:15:XNUMX GMT WWW-인증: 기본 영역="보안 영역" 콘텐츠 유형: text/HTML 콘텐츠 길이: 31
그런 다음 클라이언트는 헤더로 응답합니다.
GET /private/index.html HTTP/1.1 호스트: localhost 인증: 기본 QWxhZGRpbjpvcGVuIHNlc2FtZQ==
이 기본 인증 문자열은 클라이언트 세션을 식별하기 위해 세션의 ID로 사용됩니다.
- PARM: URI 매개변수. 클라이언트 세션을 식별하는 또 다른 방법은 사용자 세션 식별자로 사용되는 세미콜론 문자와 구분된 URI 매개변수를 사용하는 것입니다. 예제에서는 http://www.example.com/private.php;EFD4Y7 매개변수는 세션 식별자로 사용됩니다.
- URL: 요청 매개변수. 세션 ID가 URL과 함께 GET 매개변수를 통해 전송되는 경우 이 매개변수는 클라이언트 세션 ID와 연관된 이름이 가능함을 나타냅니다. 예를 들어 다음과 같은 클라이언트 요청은 http://www.example.com/index.php?sid=3a5ebc944f41daa6f849f730f1 매개변수로 구성해야 합니다. 지속성 세션 식별자 (이 예에서는 sid 값) 지속성 세션 TTL(Time to Life)
- 쿠키: . HTTP 헤더에서 읽을 HTTP 쿠키 변수를 선택하고 이를 사용하여 지정된 시간 동안 클라이언트 세션을 유지 관리할 수 있습니다. 구성된 쿠키 이름은 지속성 세션 식별자 필드는 프로그래머가 생성하고 클라이언트 세션을 식별하기 위해 웹페이지에 포함됩니다. 예를 들면 다음과 같습니다.
GET /spec.html HTTP/1.1 호스트: www.example.org 쿠키: sessionidexample=75HRSd4356SDBfrte또한 지속성 세션 TTL(Time To Life)을 구성해야 합니다. 이 값은 클라이언트와 백엔드가 아무런 활동 없이 진행될 때 로드 밸런서가 절약하는 시간을 관리합니다.
- HEADER: 요청 헤더. HTTP 헤더 사용자 정의 필드를 사용하여 클라이언트 세션을 식별할 수 있습니다. 지속성 세션 수명 및 지속성 세션 식별자를 구성해야 합니다. 예를 들어:
GET /index.html HTTP/1.1 호스트: www.example.org X-세스: 75HRSd4356SDBfrte
농장 수호자 #
HTTP 팜은 기본 및 기본 백엔드 상태 확인을 제공하지만 더 스마트한 경험적 백엔드 상태 확인을 통해 애플리케이션이 정상인지 확인하려면 Farmguardian 구성을 사용하는 것이 좋습니다.
이미 생성된 FarmGuardian 검사에서 일부 기본 제공 또는 사용자 정의 고급 상태 검사를 이 서비스에 할당할 수 있습니다.
Farmguardian에 대한 자세한 내용은 다음을 참조하세요. 모니터링 >> 농장가디언 안내
농장 가디언을 선택하면 해당 농장에 자동으로 적용되니 참고하세요.
HTTPS 백엔드. 이 확인란은 현재 서비스에 정의된 백엔드 서버가 HTTPS 프로토콜을 사용하므로 데이터가 전송되기 전에 암호화된다는 것을 팜에 나타냅니다.
백엔드 #
에 대해서는 백엔드, HTTP 팜 프로필을 사용하면 다음 속성을 구성할 수 있습니다. 모든 백엔드는 IPv4 또는 IPv6이어야 하며 팜 VIP와 동일한 IP 버전을 사용해야 합니다.
ACTIONS. 백엔드를 관리하려면 다음 작업을 사용하세요.
이미 생성된 백엔드의 경우:
- 유지 관리 활성화. 백엔드가 이전에 비활성화된 경우 이 작업을 사용하십시오. 실제 서버를 유지 관리 모드로 설정하면 새 연결이 해당 서버로 리디렉션되지 않습니다. 유지 관리 모드를 활성화하는 방법에는 두 가지가 있습니다.
- 드레인 모드. 활성화된 경우 설정된 연결과 지속성을 유지하지만 새 연결을 허용하지 않습니다.
- 절단 모드. 백엔드에 대한 모든 활성 연결을 삭제합니다.
- 유지 관리 사용 안함. 백엔드가 유지 관리 모드일 때 이 작업을 사용하세요. 유지 관리 모드를 비활성화한 후 실제 서버에 대한 새 연결을 다시 활성화하십시오.
- .. 선택한 가상 서비스의 구성을 제거합니다.
IP. 특정 백엔드의 IP 주소입니다.
PORT. 현재 실제 서버의 포트 번호입니다.
TIMEOUT. 백엔드가 응답하는 데 걸리는 시간입니다. 이 값은 전역 백엔드 연결 시간 제한 매개변수를 재정의하지만 선택한 이 팜으로 제한됩니다.
중량. 현재 실제 서버의 가중치 값입니다. 가중치가 높을수록 현재 백엔드에 더 많은 연결이 전달된다는 의미입니다. 기본적으로 가중치 값은 1로 설정됩니다. 사용 가능한 값 범위는 1~9입니다.
우선. 현재 실제 서버의 우선순위 값입니다(허용되는 값은 1 또는 2입니다). 값이 낮을수록 우선순위가 높으며 기본값은 1이므로 백엔드는 가능할 때마다 사용됩니다. 우선순위가 1인 모든 백엔드가 다운되거나 유지 관리 중인 경우 우선순위가 2인 백엔드가 활성화되어 서비스를 계속 사용할 수 있습니다. 현재 우선순위가 2인 백엔드 하나만 허용됩니다.
앞에서 설명한 것과 동일한 매개변수를 구성한 다음 저장 버튼을 클릭하여 백엔드를 생성할 수 있습니다.
통해 행위 메뉴 버튼을 클릭하면 하나 이상의 선택된 백엔드에 대해 다음 작업을 사용할 수 있습니다.
백엔드를 추가합니다. 이 명령은 백엔드 생성 양식을 엽니다.
위에서 언급한 조치: 유지 관리 활성화 (배수 고기 부위 방법), 유지 관리 비활성화 ..










