오징어 구성

오징어 구성

VPS가 있습니다. HTTPS 프로토콜을 통해 서버에 연결하고 브라우저 연결을 HTTPS 연결로 리디렉션하려면 어떻게 해야 합니까?

현재 SSH 터널을 사용하고 있지만 너무 느립니다.

답변1

나는 Squid를 프록시 서버로 사용하고 있으며스턴넬SSL 래퍼로. 캐싱으로 인해 성능이 매우 좋습니다.

오징어 구성

Squid를 설치한 후 다음을 따르세요.오징어 문서그리고 구성해보세요. 샘플 구성은 다음과 같습니다.

http_port 3193 투명

캐시_디렉터리 ufs /var/cache/squid 128 16 128
캐시_메모리 1MB
maximum_object_size_in_memory 512KB
maximum_object_size 1MB

visible_hostname 호스트 이름.com

Hierarchy_stoplist cgi-bin ?
새로고침_패턴 ^ftp: 1440 20% 10080
새로 고침_패턴 ^고퍼: 1440 0% 1440
Refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
새로고침_패턴 . 0 20% 4320

acl 관리자 proto 캐시_객체
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1

acl localnet src 10.0.0.0/8 # RFC 1918 가능한 내부 네트워크
acl localnet src 172.16.0.0/12 # RFC 1918 가능한 내부 네트워크
acl localnet src 192.168.0.0/16 # RFC 1918 가능한 내부 네트워크
acl localnet src fc00::/7 # RFC 4193 로컬 개인 네트워크 범위
acl localnet src fe80::/10 # RFC 4291 링크-로컬(직접 연결된) 머신

acl SSL_ports 포트 443
acl Safe_ports 포트 80 # http
acl Safe_ports 포트 21 # ftp
acl Safe_ports 포트 443 # https
acl Safe_ports 포트 70 # 고퍼
acl Safe_ports 포트 210 # wais
acl Safe_ports port 1025-65535 # 등록되지 않은 포트
acl Safe_ports 포트 280 # http-mgmt
acl Safe_ports 포트 488 # gss-http
acl Safe_ports 포트 591 # 파일 메이커
acl Safe_ports 포트 777 # 다중화 http
acl CONNECT 메소드 CONNECT

auth_param 기본 프로그램 /usr/libexec/squid/pam_auth
auth_param 기본 하위 5
auth_param 기본 영역 Squidy
auth_param 기본 자격 증명ttl 4시간

acl 비밀번호 Proxy_auth 필수

http_access 허용 관리자
http_액세스 거부 !Safe_ports
http_access 거부 CONNECT !SSL_ports
http_access 비밀번호 허용
http_access는 로컬 호스트를 허용합니다
http_access 로컬넷 허용
http_access 모두 거부

꺼짐을 통해
전달_해제

request_header_access 허용 모두 허용
request_header_access 권한 부여 모두 허용
request_header_access WWW-모두 인증 허용
request_header_access 프록시 인증 모두 허용
request_header_access 프록시 인증 모두 허용
request_header_access 캐시 제어 모두 허용
request_header_access 콘텐츠 인코딩 모두 허용
request_header_access Content-Length 모두 허용
request_header_access Content-Type 모두 허용
request_header_access 날짜 모두 허용
request_header_access 만료 시 모두 허용
request_header_access 호스트 모두 허용
request_header_access If-수정-이후 모두 허용
request_header_access 마지막 수정됨 모두 허용
request_header_access 위치 모두 허용
request_header_access Pragma는 모두 허용
request_header_access 허용 모두 허용
request_header_access Accept-Charset 모두 허용
request_header_access Accept-Encoding 모두 허용
request_header_access Accept-Language 모두 허용
request_header_access Content-Language 모두 허용
request_header_access Mime-Version 모두 허용
request_header_access 재시도-모두 허용 후
request_header_access 제목 모두 허용
request_header_access 연결 모두 허용
request_header_access 프록시 연결은 모두 허용
request_header_access 사용자 에이전트는 모두 허용
request_header_access 쿠키는 모두 허용합니다.
request_header_access 모두 모두 거부

포트를 수신합니다 3193 tcp. 그런 다음 캐싱 옵션, 일부 acl 명령 및 auth_paramPAM 인증이 제공됩니다(아마도 개방형 프록시를 원하지 않고 스팸 보고서에 대한 VPS를 잃어버렸을 것입니다). request_header_access줄은 필요하지 않습니다. 그들은 당신에게 더 나은 익명성을 제공합니다.

Stunnel 서버 구성

서버에 Stunnel을 설치합니다. 샘플 구성은 다음과 같습니다.

setuid = 충격
setgid = 충격

CAfile = /etc/stunnel/certs.pem
CRL파일 = /etc/stunnel/crls.pem

[대리]
수락 = 8888
연결 = 127.0.0.1:3193

아마도 stunnel 설치 시 만들어진 인증 파일일 것입니다. 에서 파일 경로를 확인하세요 CAfile. 이는 단순히 포트를 수신 8888 tcp하고 해독된 스트림을 Squid로 리디렉션합니다. 따라서 도달 가능한지 확인하십시오.

iptables -I INPUT 1 -p tcp --dport 8888 -j ACCEPT

더 이상 전 세계에 연결할 수 있도록 오징어 수신 포트를 사용할 필요가 없습니다.

Stunnel 클라이언트 구성

로컬 머신에 stunnel을 설치하고 필요에 따라 이 구성을 변경합니다.

setuid = 충격
setgid = 충격
pid = /var/run/stunnel/stunnel.pid

[폭시]
수락 = 8123
연결 = server_ip:8888
손님=네
libwrap = 아니요

server_ip를 적절한 값으로 바꾸십시오. 그런 다음 서버에서 Squid를 시작하고 클라이언트와 서버에서 Stunnel을 시작합니다. localhost:8123브라우저에서 와 같이 프록시를 설정하십시오 . 모든 것이 작동하면 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다.

답변2

https 서버가 아파치인가요? 귀하의 상황을 완전히 이해하지는 못하지만 mod_proxy가 있으면 원하는 것을 할 수 있습니다.

답변3

가상 호스트에 아무것도 설정한 적이 없지만 일반 HTTPS에 대한 정보는 다음과 같습니다.

HTTPS는 HTTP와 SSL의 조합을 사용합니다(여기에서 Wikipedia 기사 참조:http://en.wikipedia.org/wiki/HTTP_Secure). HTTPS는 실제로 자체 프로토콜이 아니라 SSL 터널에서 실행되는 일반적인 HTTP입니다.

HTTPS는 CA(인증 기관) 및 PKI(공개 키 인프라)를 사용하여 사용자가 사이트를 '신뢰'할 수 있도록 합니다. 웹 서버에 대한 공개 키 인증서를 생성해야 하며 해당 인증서는 신뢰할 수 있는 CA(예: VeriSign)의 서명을 받아야 합니다. 신뢰할 수 있는 인증서를 얻으려면 유지 관리에 연간 요금이 부과될 수 있습니다.

신뢰할 수 있는 CA를 거치지 않으면 사용자가 사이트에 연결을 시도할 때 경고가 표시됩니다. 이로 인해 사용자가 사이트를 보안 위험으로 간주할 수 있기 때문에 종종 사이트에서 벗어날 수 있습니다.

또한 HTTP는 기본적으로 포트 80을 사용하지만 HTTPS는 443을 사용하므로 포트 전달/포트 차단이 있는 경우 연결을 위해 해당 포트가 열려 있는지 확인해야 합니다. HTTPS를 사용하려면 사이트를 탐색할 때 URL에 해당 URL을 입력해야 합니다. 그렇지 않으면 기본적으로 HTTP가 사용됩니다.

편집: 다음은 HTTPS 작동 방식에 대한 좋은 소개입니다. http://securityworkshop.blogspot.com/2009/01/how-httpsssl-works-part-1-basics.html

답변4

내 수정구슬은 네가 한 번 살펴봐야 한다고 하네http://www.stunnel.org/static/stunnel.html

공이 틀려도 어차피 아프지 않아요.

관련 정보