
我正在使用帶有 apache2 的樹莓派來管理我的網站。我有多個 docker 映像在不同的連接埠上運行。我想重定向(不更改網址) 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
(來自 的符號連結)中正確啟用sites-available
。
我的系統:
- Ubuntu 22.04 上的樹莓派 4 8Gb
另外,我正在使用在我的 Pi 上託管的 VPN,並且我已將正確的配置添加到我的/etc/host
和c:\Windows\System32\Drivers\etc\hosts
(WSL/Windows)中。
我知道有很多關於 apache2 配置的帖子。但我找不到有相同問題的人。
答案1
掃描器:不工作:當我 cURL 時“無法解析主機”
這意味著curl
無法解析網域名稱的IP位址。這表示未配置目標網域的 DNS 表項。
DNS配置與Apache2或nginx配置無關。
答案2
為了解決這個問題,我安裝了網域解析,配置它, 和將 DNS 伺服器新增至/etc/resolve.conf
。
x.subdomain.local
現在,如果我在每台電腦上新增我的 DNS 伺服器,我就可以 cURL 到。