uhttpd의 정적 HTML 페이지에 호스트 이름 표시

uhttpd의 정적 HTML 페이지에 호스트 이름 표시

uhttpd를 실행하고 정적 HTML 페이지를 제공하는 도커 컨테이너가 있습니다. 컨테이너의 호스트 이름을 정적 HTML 페이지에 동적으로 삽입하는 방법은 무엇입니까? 용기는 최대한 가벼워졌으면 좋겠습니다.

답변1

호스트 이름이 포함된 정적 HTML 페이지를 생성하기 위해 컨테이너 시작의 일부로 명령을 사용하는 것은 어떨까요?

$ cat <<EOF > /path/to/var/www/hostname.html
<html>
<body>
<p>hostname is: $(hostname)</p>
</body>
</html>
EOF

/etc/rc.d/rc.localSysV 스타일 시작 스크립트를 사용한다고 가정하면 이 명령을 배치할 수 있습니다. systemd를 사용하는 경우에도 동일한 작업을 수행할 수 있지만 서비스를 활성화해야 합니다.

$ sudo service rc-local start

그러면 부팅할 때마다 실행되도록 실행 중으로 표시됩니다.

$ sudo systemctl enable rc-local

Upstart와 같은 다른 도구를 사용하는 경우 동일한 방법을 사용하여 위와 동일한 작업을 수행할 수 있습니다.

인용하다

답변2

PHP를 사용하는 경우 다음 코드를 사용할 수 있습니다.

echo system('hostname')

echo이는 명령의 출력이 됩니다 hostname. system보안상의 이유로 많은 공유 호스트에서는 이 명령이 비활성화되어 있습니다.

또는 다음을 사용할 수 있습니다.

echo gethostname();

-또는-

echo php_uname('n')

답변3

정적 페이지의 경우 가장 쉬운 방법은 템플릿에서 서비스 페이지를 생성하고 hostname자리 표시자를 명령이 제공하는 것으로 바꾸는 것입니다. 이미지의 진입점에서 이 코드를 실행하세요.

답변4

다음은 호스트 이름을 보여주는 웹페이지입니다. 이는 네트워크 프로그래밍의 "인라인" 기능을 보여줍니다.

<html>
<body>
<?php echo gethostname(); ?>
</body>
</html>

관련 정보