include 관련인지;; 질문 하나 드리겠습니다.
A 개인 서버는 외부 접속 가능한 외부 아이피가 있습니다.
A 개인 서버는 내부 아이피도 가지고 있습니다.
A는 내부 아이피로 셋팅해도 외부 접속 가능한 외부 아이피가 있습니다.
예를들어..
A 외부 아이피는 10.0.0.10 입니다.
A 의 내부 아이피는 192.168.0.2 입니다.
B는 개인 서버 입니다. 내부 아이피만 가지고 있습니다.
B의 내부 아이피는 192.168.0.3 입니다.
A 외부 아이피로 접속 합니다.휴대폰으로요..
그리고 B 개인 서버로 include 를 하거나.. iframe을 쓰거나..
A 페이지에서 B로 접속할 수 있는 방법이 있을까요? 혹은 인클루드를 시켜야 할까요?
음...............................................................
힌트라도 얻을 수 있을까 하여 글 남깁니다. 지금 이틀째 폭풍 구글링중인데 답을 못찾겠습니다.
감사합니다.
답변 4개 / 댓글 6개
php.ini 설정후.....
allow_url_fopen = on
allow_url_include = on
// A.phpinclude 'http://192.168.0.3/B.php';
공유기 설정에서, 10.0.0.10을 통해 들어오는 접속중, 8080포트로 들어오는 트래픽을
내부아이피 192.168.0.3의 80포트로 "포트포워딩"후..................
// A.php<iframe src="http://10.0.0.10:8080/B.php"><iframe>
답변에 대한 댓글 5개
[code]
<img src="http://10.0.0.10/192.168.0.3/img/aaa.png">
[/code]
이미지태그가 이렇게 표시된다는건가요?
그건, A서버가 B서버의 웹서버로 b.php를 요청한것(include 'B서버파일')이니까..
B서버의 ip 192.168.0.3 이 찍히는 것일테구요...
$_SERVER['HTTP_HOST']를 넣지마시고...
원래대로 하면 이미지가 깨진다고 하셨는데..
위와 같이 "개발자도구"로 이미지태그를 보지 마시고,
"소스보기"를 통해서 원래 이미지태그를 봤을때..
이미지 깨질 때의 이미지태그에 주소가 뭐라고 적혀있나요?
<img src="이미지 주소">
아마도 <img src="/img/aaa.png"> 이런식으로 되어있을거 같은데..(http://~~~없이..)
2. 이미지가 인터넷에 노출되지 않은 내부아이피 192.168.0.3 서버에 존재하니까...
웹브라우저에서 이미지태그내의 주소를 못불러오므로....
위의 공유기설정대로 포트포워딩해서...
b서버에서 이미지 태그소스에...
[code]
<img src="http://10.0.0.10:8080/img/aaa.png">
[/code]
이렇게 출력되도록 코딩해도 되구요~
이미지호스팅서버 정도 되겠네요..
물론 아파치설정에서 사이트 하나 생성해야겠죠...8080포트로...
일단.. 관심가져 주셔서 감사합니다.
// A서버는 192.168.0.2(내부아이피)로 잡으면.. 10.0.0.2(외부아이피)로 접속이 됩니다.(예입니다.)
// B서버는 내부 아이피(서버)는 192.168.0.3 입니다. 여기 링크걸어서 한페이지 전체를 가지고 옵니다.
// A서버 에서 include('http://192.168.0.3/index.php'); 로 include 하게 됩니다.
상황1. db 정보는 정확하게 불러 옵니다(문자열은 가지고 옵니다.).
상황2. 거기에 착안해서 192.168.0.3의 모든 태그 img 주소를.. img src="http://<?=$_SERVER['HTTP_HOST']?>/img/logo.png" 이렇게 모두 바꿨습니다.
상황3. 제 노트북에서 테더링을 잡고 10.0.0.2로 접속을 하게 되면 문자열은 정상적으로 출력이 되나......
현상1. 사진은 엑박이 뜹니다.
현상2. 속성 주소는 192.168.0.3/img/logo.png 로 보입니다.
현상3. 여전히 모든 이미지는 엑박 처리가 됩니다.
자체 판단 내용 : 외부 아이피 10.0.0.2로 접속을 하였기 때문에 내부 서버 192.168.0.3의 이미지 주소를 땡겨 올 수 있느냐 없느냐의 차이같습니다. 10.0.0.2로 접속을 하여 192.168.0.3의 db 문자열을 가지고 올 수 있으면 이미지도 가지고 올 수 있지 않겠냐는 판단인데.... 내부 설정을 건들여야 하는지.. 아니면 다른 방법이 있는지 문의 드립니다.
답변에 대한 댓글 1개
서버측언어인 php가 실행되므로 b서버파일내에 있는 db문자열을 읽을 수 있는것이며...
이미지주소는 <img src=""> 서버에서 처리되는게 아니라..클라이언트..즉, 웹브라우저가 읽고 해석하는 것이니...
웹브라우저는 주소에 적힌대로 http://10.0.0.2/192.168.0.3/img/logo.png 이 파일을 읽으려고 10.0.0.2 아피주소의 웹서버로 요청하게 되는 것이고, 그 아이피는 a서버로서, a서버에는 이미지가 존재하지 않아서 나오는 엑박입니다...
자체판단이 맞구요...
위에 댓글 참조하세요..
답변을 작성하려면 로그인이 필요합니다.
허나.. 이미지가 모조리 깨지는 사태가 발생이 되었습니다. 그래서 테스트로 땡겨지는(?) 페이지 주소앞에 모조리 $_SERVER['HTTP_HOST'] 을 넣었습니다. 하지만 외부 접속 가능한 아이피/땡겨지는아이피/img/aaa.png 로 땡겨져서 엑박이 발생 되었습니다..
여기서는 어떻게 진행 하면 좋을까요?