%EC%9D%B4%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EC%9D%8C(Apache2%20%EB%B0%8F%20Nginx%EB%A1%9C%20%EC%8B%9C%EB%8F%84).png)
저는 apache2와 함께 라즈베리 파이를 사용하여 웹사이트를 관리하고 있습니다. 다른 포트에서 실행되는 여러 도커 이미지가 있습니다. (URL 변경 없이) scanner.raspberry.local
로 리디렉션하고 싶습니다 localhost:1234
. 그렇게하기 위해 나는 다음 두 게시물을 따랐습니다.
결국 작동하는 가상 호스트는 하나만 있습니다(첫 번째 호스트). 내 구성은 다음과 같습니다.
# Home page : working properly
<VirtualHost *:80>
ServerName raspberry.local
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
ErrorLog ${APACHE_LOG_DIR}/error-homer.log
CustomLog ${APACHE_LOG_DIR}/access-homer.log combined
</VirtualHost>
# Scanner : not working : "could not resolve host" when I cURL
<VirtualHost *:80>
ServerName scan.raspberry.local
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://localhost:1234/
ProxyPassReverse / http://localhost:1234/
ErrorLog ${APACHE_LOG_DIR}/error-scan.log
CustomLog ${APACHE_LOG_DIR}/access-scan.log combined
</VirtualHost>
nginx를 설치하려고 시도했지만 결국 동일한 문제가 발생했습니다. 첫 번째 가상 호스트는 작동하지만 두 번째 가상 호스트(하위 도메인)는 cURL을 통해 서버에서 직접 확인할 수 없습니다. 나는 팔로우했다이것나에게 도움이 되도록 포스팅합니다. 나는 이것으로 끝났다 :
server {
listen 80;
server_name raspberry.local;
location / {
proxy_pass http://localhost:8080;
}
}
server {
listen 80;
server_name scan.raspberry.local;
location / {
proxy_pass http://localhost:1234;
}
}
로그 파일에 오류가 없습니다. 사용할 때에도 apache2ctl -S
문제 없이 가상 호스트를 찾습니다 apache2ctl configtest
. proxy
및 모듈 proxy_http
을 활성화했습니다 rewrite
. 그리고 내 구성은 /etc/apache2/sites-enabled/000-default.conf
(symlink from sites-available
) 에서 올바르게 활성화되었습니다 .
내 시스템:
- Ubuntu 22.04의 Raspberry Pi 4 8Gb
/etc/host
또한 내 Pi에서 호스팅되는 VPN을 사용하고 있으며 내 및 c:\Windows\System32\Drivers\etc\hosts
(WSL/Windows) 에 적절한 구성을 추가했습니다 .
apache2의 구성에 관한 게시물이 많다는 것을 알고 있습니다. 하지만 같은 문제가 있는 것을 찾을 수 없습니다.
답변1
스캐너: 작동하지 않음: URL을 표시할 때 "호스트를 확인할 수 없습니다."
이는 curl
도메인 이름의 IP 주소를 확인할 수 없음을 의미합니다. 이는 대상 도메인에 대한 DNS 항목이 구성되지 않았음을 의미합니다.
DNS 구성은 Apache2나 nginx 구성과 관련이 없습니다.
답변2
이 문제를 해결하기 위해 설치했습니다.dnsmasq,그것을 구성했다, 그리고DNS 서버를 추가했습니다./etc/resolve.conf
.
이제 x.subdomain.local
각 컴퓨터에 DNS 서버를 추가하면 cURL을 수행할 수 있습니다.