특정 사이트만 로컬 프록시를 통한 설정
소개
집의 V6 플러스 환경에서는 일부 사이트(또는 근무처)에 연결하기 어려운 문제가 있습니다.
앞으로도 미래에 할 수있는 텔레 워크의 장애가 될 것 같았기 때문에 VPN으로 연결하는 사쿠라 VPS에 로컬 프록시를 구축하고 해당 사이트 만 프록시를 통해 연결하도록합니다. 시도했습니다.
(뭐 전부 프록시 경유에서도 좋은 생각은 합니다만, 확실히 Youtube 따위로 VPS의 대역 제한에 걸려도 싫기 때문에···)
전제 환경
작업 개요
VPS(debian 10 Buster)
집 서버 (debian 10 Buster)
LAN 내 PC(Windows 10)
구축 절차
VPS
squid 설치
# apt install squid
squid 설정
# vi /etc/squid/squid.conf
/etc/squid/squid.conf# ローカルネットワークのネットワークアドレス
acl lan src 192.168.1.0/24
# 接続先として指定されているポート以外を拒否
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
http_access deny !Safe_ports
# SSL接続時に 443 ポート以外の CONNECT を拒否
acl SSL_ports port 443
acl CONNECT method CONNECT
http_access deny CONNECT !SSL_ports
# ローカルホストを許可
http_access allow localhost
# ローカルアドレスを許可
http_access allow lan
# その他のアドレスを拒否
http_access deny all
# 応答ポートを指定
http_port 8080
# コアダンプ出力場所
coredump_dir /var/spool/squid
# キャッシュの設定
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
# squidを経由していることを隠す
request_header_access Referer deny all
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
forwarded_for off
# ログローテートの設定
logfile_rotate 0
설정이 끝나면 squid를 다시 시작합니다.
# systemctl restart squid
집 서버
nginx 설치
설정은 아무것도 필요 없습니다 w어차피 로컬 운용이고.
# apt install nginx
PAC 파일 배치
nginx의 기본 루트 폴더 (/var/www/html) 아래에 proxy.pac를 만듭니다.
# vi /var/www/html/proxy.pac
/var/www/html/proxy.pacfunction FindProxyForURL(url,host){
if(shExpMatch(host,"<ホスト名のマッチング文字列>")){
return "PROXY <VPSのVPNアドレス>:<ポート番号>";
}
return "DIRECT";
}
작성한 proxy.pac의 소유자를 www-data로 변경
# chown www-data:www-data /var/www/html/proxy.pac
작성한 proxy.pac의 권한 변경
# chmod 644 /var/www/html/proxy.pac
LAN 내 PC(Windows 10)
자동 프록시 설정
[시작 메뉴] → [설정] → [네트워크 및 인터넷] → [프록시]를 열고
자동 프록시 설정
설치 스크립트 사용을 선택하고,
스크립트 주소로
http://<VPSのVPNアドレス>/proxy.pac
를 입력합니다.
그리고는 브라우저를 열어, 사이트에 정상적으로 액세스 할 수 있는지 확인해 종료입니다!
Reference
이 문제에 관하여(특정 사이트만 로컬 프록시를 통한 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/imoimo2009/items/795adeb1628a4ec94a5a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# apt install squid
# vi /etc/squid/squid.conf
# ローカルネットワークのネットワークアドレス
acl lan src 192.168.1.0/24
# 接続先として指定されているポート以外を拒否
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
http_access deny !Safe_ports
# SSL接続時に 443 ポート以外の CONNECT を拒否
acl SSL_ports port 443
acl CONNECT method CONNECT
http_access deny CONNECT !SSL_ports
# ローカルホストを許可
http_access allow localhost
# ローカルアドレスを許可
http_access allow lan
# その他のアドレスを拒否
http_access deny all
# 応答ポートを指定
http_port 8080
# コアダンプ出力場所
coredump_dir /var/spool/squid
# キャッシュの設定
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
# squidを経由していることを隠す
request_header_access Referer deny all
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
forwarded_for off
# ログローテートの設定
logfile_rotate 0
# systemctl restart squid
# apt install nginx
# vi /var/www/html/proxy.pac
function FindProxyForURL(url,host){
if(shExpMatch(host,"<ホスト名のマッチング文字列>")){
return "PROXY <VPSのVPNアドレス>:<ポート番号>";
}
return "DIRECT";
}
# chown www-data:www-data /var/www/html/proxy.pac
# chmod 644 /var/www/html/proxy.pac
Reference
이 문제에 관하여(특정 사이트만 로컬 프록시를 통한 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/imoimo2009/items/795adeb1628a4ec94a5a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)