1. 전제 조건
1) 사용 중인 인터넷 차단PC가 인터넷 접근이 가능한 서버/PC와 SSH 통신이 가능해야 합니다.
2) 해당 서버/PC에 Apache httpd 등으로 프록시 서버가 구축되어 있어야 하고,
<IfModule proxy_html_module>
Include conf/extra/httpd-proxy-html.conf
</IfModule>
ProxyRequests On
<Proxy *>
Require ip 127.0.0.1
</Proxy>
3) 해당 서버/PC에 ssh 접속 및 C2S(client to server) port forwarding 설정해 둡니다. (아래에서는 18080 포트)
[ssh] Local Listen 18080 → Destination localhost:18080 port forwarding
4) 웹서버는 로컬이나 별도 서버에 nginx, httpd 등을 이용해 proxy.pac 만 접근 할 수 있도록 간단히 구성합니다.
변경 사항이 있으면 번거로울 수 있으니 캐싱은 상황에 따라 고려합니다. (아래는 캐싱X)
worker_processes 4;
worker_rlimit_nofile 100000;
events {
worker_connections 4096;
multi_accept on;
use poll;
}
error_log logs/error.log crit;
pid logs/nginx.pid;
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
keepalive_requests 1000;
reset_timedout_connection on;
server_tokens off;
server {
listen 127.0.0.1:8000;
server_name pac;
location / {
root C:/Config/proxy/nginx-1.28.0/html;
expires -1;
add_header Cache-Control "no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0";
}
access_log off;
}
}
2. 설정 방법
1) proxy.pac 파일을 로컬 웹서버에 올립니다. 아래에서 IP 대역은 적절히 바꿉니다.
아래 예는, 도메인 및 IP 1.1.1.0~1.1.1.255, 192.168.0.0~192.168.255.255 는 직접 접속하고, (내 PC에서 바로 나감)
나머지는 127.0.0.1:18080 프록시(ssh C2S port forwarding)를 이용하라는 의미입니다. (인터넷 서버/PC를 경유해서 나감)
function FindProxyForURL(url, host) {
if (isInNet(dnsResolve(host), "192.168.0.0", "255.255.0.0")) {
return "DIRECT";
}
if (isInNet(dnsResolve(host), "1.1.1.0", "255.255.255.0")) {
return "DIRECT";
}
return "PROXY 127.0.0.1:18080";
}
2) 시작 버튼 - "인터넷 옵션" 입력 후 엔터 - 연결 탭 - 아래의 LAN 설정 클릭 후 아래와 같이 "자동 구성 스크립트 사용"에
위에서 만든 pac 파일에 접근하도록 합니다.

3) 인터넷이 잘되는 지, DIRECT 설정한 IP 대역은 현재 PC IP로 보이는지 확인합니다.
※ 중계용 서버/PC 와는 SSH 통신되어 중간에서 내용 확인이 불가합니다. (보안)