
我有一個 IP 192.0.2.1 ( example.com
) 的子網域轉發,我們稱之為納吉奧斯.example.com
納吉奧斯曾就職於192.0.2.1/nagios但現在它不起作用了,因為應用程式.example.com 接管預設 阿帕契 港口(:80)
那麼該如何解決我的問題呢? :)
我有幾乎nagios預設配置httpdvhost,除了我加入了 <VirtualHost *:80 > 和 ServerName。
<VirtualHost *:80>
ServerName nagios.example.com
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
# SSLRequireSSL
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /path/file
Require valid-user
</Directory>
Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
# SSLRequireSSL
Options None
AllowOverride None
Order allow,deny
Allow from all
# Order deny,allow
# Deny from all
# Allow from 127.0.0.1
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /path/file
Require valid-user
</Directory>
</VirtualHost>
PS:httpd -t -D DUMP_VHOSTS
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server domain-alias.example (/etc/httpd/conf.d/app.conf:1)
port 80 namevhost domain-alias.example (/etc/httpd/conf.d/app.conf:1)
port 80 namevhost nagios.example.com (/etc/httpd/conf.d/nagios.conf:8)
Syntax OK
抱歉“domain-alias.example”,但這是一種私人資訊:)
答案1
如果您在內部使用虛擬主機,那麼使用不同的連接埠進行虛擬主機配置始終是更好的解決方案,因此在這種情況下,您可以在8083 連接埠上設定nagios 網域:第一步:在httpd.conf中,您需要指定偵聽連接埠:
Listen 8080
Listen 80
Listen 8083
在 httpd-vhosts.conf 中,為要新增的每個虛擬主機新增一個 NameVirtualHost。
NameVirtualHost *:80
NameVirtualHost *:8080
NameVirtualHost *:8083
將您的文檔根應用於請求的端口,僅此而已。
重新啟動服務後,您可以檢查連接埠是否開啟以及哪個應用程式使用相同的連接埠:
netstat -tlnp
答案2
將連接埠變更為 VirtualHost *:8080 或 81。
看看是否有效。我在工作中的 apache 伺服器上也遇到了類似的衝突問題,我將 virtualHost 更改為連接埠 8080,現在一切都運作正常。