Объект виртуального хоста не найден - PullRequest
0 голосов
/ 03 октября 2019

Каждый раз, когда я пытаюсь получить доступ к https://sub.myproject.test/, появляется это сообщение:

Объект не найден! Запрашиваемый URL не найден на этом сервере. Если вы ввели URL-адрес вручную, проверьте правильность написания и повторите попытку. Если вы считаете, что это ошибка сервера, обратитесь к веб-мастеру. Ошибка 404 sub.myproject.test Apache / 2.4.38 (Unix) OpenSSL / 1.0.2q PHP / 7.2.15 mod_perl / 2.0.8-dev Perl / v5.16.3

Вкл. httpd-vhosts.confУ меня есть:

<VirtualHost *:80>
    DocumentRoot "/mnt/data/myproject/sub.myproject.com/public_html"
    ServerName sub.myproject.test
    ServerAlias www.sub.myproject.test
    <Directory  "/mnt/data/myproject/sub.myproject.com/public_html/">
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

и httpd-ssl.conf У меня есть:

# catalog config
<VirtualHost *:443>
    DocumentRoot "/mnt/data/myproject/sub.myproject.com/public_html"
    ServerName sub.myproject.test:443
    ServerAlias www.sub.myproject.test:443
    ErrorLog "/opt/lampp/logs/error_log"
    TransferLog "/opt/lampp/logs/access_log"
    SSLEngine on

    SSLCertificateFile "/opt/lampp/etc/ssl.crt/server.crt"
    SSLCertificateKeyFile "/opt/lampp/etc/ssl.key/server.key"

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>

    <Directory "/mnt/data/myproject/sub.myproject.com/public_html/">
        SSLOptions +StdEnvVars +FakeBasicAuth

        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Allow from all
        Require all granted
    </Directory>
    BrowserMatch "MSIE [2-5]" \
             nokeepalive ssl-unclean-shutdown \
             downgrade-1.0 force-response-1.0
    CustomLog "/opt/lampp/logs/ssl_request_log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

И, конечно, в пути /mnt/data/myproject у меня есть папка sub.myproject.com

Если бы вы могли помочь мне исправить это, я был бы очень признателен

1 Ответ

1 голос
/ 04 октября 2019

Ваш VirtualHost в порядке (, за исключением того, что вам не нужно указывать: 443 в директивах ServerName и ServerAlias ​​), но вы никогда не сообщаете Apache, какую страницу отображать по умолчанию, если она не указана в запросе.

Определите DirectoryIndex в каждом VirtualHost.

Например: DirectoryIndex index.html Если запрос равен https://example.com/, следовательно, после имени домена ничего нет, Apache будет отображать index.html, изкаталог DocumentRoot.


Не относясь к вашему вопросу, вы должны указать в своей конфигурации ServerTokens Prod и ServerSignature Off, в вашем сообщении об ошибке отображается много информации.

...