테스트 사이트 - 개발 중인 베타 버전입니다

include 관련인지;; 질문 하나 드리겠습니다. 채택완료

인메모리 9년 전 조회 4,277

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개

채택된 답변
+20 포인트
9년 전

php.ini 설정후.....

allow_url_fopen = on

allow_url_include = on

</p><p>// A.php</p><p>include 'http://<span style="color: rgb(72, 72, 72); font-family: 돋움, Dotum, sans-serif; font-size: 14.004px;">192.168.0.3/B.php';</span></p><p><span style="color: rgb(72, 72, 72); font-family: 돋움, Dotum, sans-serif; font-size: 14.004px;">

 

공유기 설정에서, 10.0.0.10을 통해 들어오는 접속중, 8080포트로 들어오는 트래픽을

내부아이피 192.168.0.3의 80포트로 "포트포워딩"후..................

</span></p><p><span style="color: rgb(72, 72, 72); font-family: 돋움, Dotum, sans-serif; font-size: 14.004px;">// A.php</span></p><p><span style="color: rgb(72, 72, 72); font-family: 돋움, Dotum, sans-serif; font-size: 14.004px;"><iframe src="http://</span><span style="color: rgb(72, 72, 72); font-family: 돋움, Dotum, sans-serif; font-size: 14.004px;">10.0.0.10:8080/B.php"><iframe></span></p><p><span style="color: rgb(72, 72, 72); font-family: 돋움, Dotum, sans-serif; font-size: 14.004px;">

 

 

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 5개

인메모리
9년 전
php.in에서 allow_url_include=on 했더니 인클루드는 바로 됩니다. 휴대폰 와이파이 끄고도 제대로 보이구요. 같은 공유기에 물려 있는것도 맞습니다.

허나.. 이미지가 모조리 깨지는 사태가 발생이 되었습니다. 그래서 테스트로 땡겨지는(?) 페이지 주소앞에 모조리 $_SERVER['HTTP_HOST'] 을 넣었습니다. 하지만 외부 접속 가능한 아이피/땡겨지는아이피/img/aaa.png 로 땡겨져서 엑박이 발생 되었습니다..

여기서는 어떻게 진행 하면 좋을까요?
글러빙
9년 전
iframe방식이 아니라, include방식으로 인클루드했을때...

[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://~~~없이..)
글러빙
9년 전
1. nfs 네트웍 파일시스템으로 b서버의 이미지폴더를 a서버의 해당폴더로 마운팅시켜도 되구요....
2. 이미지가 인터넷에 노출되지 않은 내부아이피 192.168.0.3 서버에 존재하니까...
웹브라우저에서 이미지태그내의 주소를 못불러오므로....
위의 공유기설정대로 포트포워딩해서...
b서버에서 이미지 태그소스에...

[code]
<img src="http://10.0.0.10:8080/img/aaa.png">
[/code]
이렇게 출력되도록 코딩해도 되구요~
이미지호스팅서버 정도 되겠네요..

물론 아파치설정에서 사이트 하나 생성해야겠죠...8080포트로...
인메모리
9년 전
글 남겨 주신것 토대로 마져 테스트 해보겠습니닷!
인메모리
9년 전
글 새로 남기겠습니닷!

댓글을 작성하려면 로그인이 필요합니다.

포트포워딩이 불가능한 상황입니다ㅠㅠ 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

일단.. 관심가져 주셔서 감사합니다.

// A서버는 192.168.0.2(내부아이피)로 잡으면.. 10.0.0.2(외부아이피)로 접속이 됩니다.(예입니다.) // B서버는 내부 아이피(서버)는 192.168.0.3 입니다. 여기 링크걸어서 한페이지 전체를 가지고 옵니다. // A서버 에서 include('http://192.168.0.3/index.php">http://192.168.0.3/index.php'); 로 include 하게 됩니다.

상황1. db 정보는 정확하게 불러 옵니다(문자열은 가지고 옵니다.). 상황2. 거기에 착안해서 192.168.0.3의 모든 태그 img 주소를.. img src="http:///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개

글러빙
9년 전
db문자열을 가져오는 것은 include 'b서버파일' 했기때문에...
서버측언어인 php가 실행되므로 b서버파일내에 있는 db문자열을 읽을 수 있는것이며...
이미지주소는 <img src=""> 서버에서 처리되는게 아니라..클라이언트..즉, 웹브라우저가 읽고 해석하는 것이니...
웹브라우저는 주소에 적힌대로 http://10.0.0.2/192.168.0.3/img/logo.png 이 파일을 읽으려고 10.0.0.2 아피주소의 웹서버로 요청하게 되는 것이고, 그 아이피는 a서버로서, a서버에는 이미지가 존재하지 않아서 나오는 엑박입니다...

자체판단이 맞구요...
위에 댓글 참조하세요..

댓글을 작성하려면 로그인이 필요합니다.

A와 B의 내부 아이피 gateway와 dns1번은 맞췄습니다. 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인