Я вижу интересное поведение с нашими веб-серверами.Apache 2.2 VirtualHosts и несколько портов
Я установил некоторые URL-адреса https с помощью VirtuaHosts Directives и поместил их на нестандартные порты. Я использую порты 4443 и 4543.
Таким образом, просмотр на https://test-domain.com:4443 работает, а также https://test2-domain.com:4543. Однако, если я набираю test-domain2.com:4443 или test-domain.com:4445, который также выводит вас на правильную веб-страницу по порту. (Когда я тестирую, я набираю полную ссылку, переполнение стека не позволит мне ввести более двух, поэтому я удалил часть https: // для вопроса).
В принципе, если вы передаете действительный домен, вы можете поместить его в любой порт, и он доставит вас на сайт, размещенный на этом порту. Я бы подумал, что такое поведение будет невозможно. Я бы подумал, что если бы я набрал домен сайта A с портом сайта B, я бы вернул страницу Not Found или другую страницу с ошибкой, вместо этого меня всегда переводили на сайт B. Его разрешение на все, что размещено в порту.
Если у кого есть какие-либо предложения или известно, что я делаю неправильно, я был бы признателен за ответ или помощь.
Вот конфиг Apache ... я смотрю на онлайновой документации Apache, и я пытался экспериментировать с помощью веб-сервера IP-адрес для NameVirtualHost и VirtualHost и получают такое же поведение
NameVirtualHost *:4443
<VirtualHost *:4443>
#SetEnv VHOST "test.domain.com"
ServerName test.domain.com
DocumentRoot /var/www/test/public
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile ssl/test.domain.com.crt
SSLCertificateKeyFile ssl/test.domain.com.key
SSLCertificateChainFile ssl/gd_bundle.crt
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
ErrorLog logs/test-error_log
CustomLog logs/test-access_log common
</VirtualHost>
NameVirtualHost *:4543
<VirtualHost *:4543>
#SetEnv VHOST "test2.domain.com"
ServerName test2.domain.com
DocumentRoot /var/www/test2/public
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile ssl/test2.domain.com.crt
SSLCertificateKeyFile ssl/test2.domain.com.key
SSLCertificateChainFile ssl/gd_bundle.crt
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
ErrorLog logs/test2-error_log
CustomLog logs/test2-access_log common
</VirtualHost>
Follow Я попытался добавить следующие разделы: Redirect 404/ ErrorDocument 404 «Нет такого сайта. Проверьте правописание URL. Наш главный сайт: \ http://test1.domain.com/'>http:/ test1.domain.com "
<VirtualHost *:4543>
Redirect 404/
ErrorDocument 404 "No Such Site. Check the URL spelling. Our main site is \
<a href='http://test2.domain.com/'>http://test2.domain.com"
</VirtualHost>
и apachectl -S показывает следующее:
*:4543 is a NameVirtualHost
default server test2.domain.com (/etc/httpd/conf.d/test.https.conf:76)
port 4543 namevhost test2.domain.com (/etc/httpd/conf.d/test.https.conf:76)
port 4543 namevhost ip-10-0-1-204.ec2.internal (/etc/httpd/conf.d/test.https.conf:92)
*:4443 is a NameVirtualHost
default server test1.domain.com (/etc/httpd/conf.d/test.https.conf:51)
port 4443 namevhost test1.domain.com (/etc/httpd/conf.d/test.https.conf:51)
port 4443 namevhost ip-10-0-1-204.ec2.internal (/etc/httpd/conf.d/test.https.conf:68)
*:443 is a NameVirtualHost
default server test.domain.com (/etc/httpd/conf.d/test.https.conf:20)
port 443 namevhost test.domain.com /etc/httpd/conf.d/test.https.conf:20)
port 443 namevhost ip-10-0-1-204.ec2.internal (/etc/httpd/conf.d/ssl.conf:76)
*:80 is a NameVirtualHost
default server test.domain.com (/etc/httpd/conf.d/test.http.conf:3)
port 80 namevhost test.domain.com (/etc/httpd/conf.d/test.http.conf:3)
port 80 namevhost test1.domain.com (/etc/httpd/conf.d/test.http.conf:8)
port 80 namevhost test2.domain.com (/etc/httpd/conf.d/test.http.conf:13)
port 80 namevhost ip-10-0-1-204.ec2.internal (/etc/httpd/conf.d/test.http.conf:18)
wild alias *.domain.com
Итак, @covener, поэтому я попробовал добавить еще одну секцию vhost, чтобы учесть это, но все еще производит тот же результат. ' Redirect 404/ ErrorDocument 404« Нет такого сайта. Проверьте правописание URL. Наш главный сайт: \ http: //test2.domain.com " VirtualHost>' –
tman
вы добавили его _before_ текущего? Наследует ли он DocumentRoot от глобального conf? Является ли apachectl -S подсказкой? – covener
Нет Я добавил их после текущего.apachectl -S показывает следующее: – tman