Apache가 잘못된 디렉토리에 들어갔습니다.

Apache가 잘못된 디렉토리에 들어갔습니다.

여러 웹사이트가 있는 RHEL 서버가 있습니다. 이 특정 사이트에는 액세스할 수 있는 세 가지 도메인/하위 도메인이 있습니다. 두 개는 작동하지만 하나는 오류가 발생합니다. 이것은 내 conf 파일입니다.

<VirtualHost *:80>
        DocumentRoot /var/www/html/yln/web
        ServerName portal.yln.info
        ServerAlias www.yln.info
        ServerAlias yln.info
        Redirect "/" "https://portal.yln.info/"
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/html/yln>
                Options +FollowSymLinks +ExecCGI
                RewriteEngine On
                AllowOverride All
                Require all granted
        </Directory>

        ScriptAlias /cgi-bin/ /var/www/cgi-bin/
        <Directory "/var/www/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Require all granted
        </Directory>

        ErrorLog /var/log/httpd/yln_error_log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/httpd/yln_access_log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>
<VirtualHost *:443>
        DocumentRoot /var/www/html/yln/web
        ServerName portal.yln.info
        ServerAlias www.yln.info
        ServerAlias yln.info

        SSLEngine on
        SSLCertificateFile /etc/pki/tls/certs/1d40117d24e9b169.crt
        SSLCertificateKeyFile /etc/pki/tls/private/yln.key
        SSLCertificateChainFile /etc/pki/tls/certs/gd_bundle-g2-g1.crt

        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/html/yln>
                Options +FollowSymLinks +ExecCGI
                RewriteEngine On
                AllowOverride All
                Require all granted
        </Directory>

        ScriptAlias /cgi-bin/ /var/www/cgi-bin/
        <Directory "/var/www/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Require all granted
        </Directory>

        ErrorLog /var/log/httpd/yln_error_log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
        CustomLog /var/log/httpd/yln_access_log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>

portal.yln.info, www.yln.info작동 http://yln.info하지만 https://yln.info("s" 참고) 403 Forbidden 오류를 반환합니다.

로그는 다음과 같습니다. [Fri Oct 21 06:48:05.284438 2022] [autoindex:error] [pid 16786:tid 140094660904704] [client 63.226.23.69:26860] AH01276: Cannot serve directory /var/www/html/: No matching DirectoryIndex (index.html,index.php) found, and server-generated directory index forbidden by Options directive

Apache가 문서 루트로 설정하지 않은 디렉터리에서 색인 파일을 제공하려고 하는 이유는 무엇입니까? 왜 이런 일을 하는 걸까요 https://yln.info?

고쳐 쓰다: 제가 보여드린 conf 파일에서는 Portal.yln.info와 Portal.yln.info를 캡처하여 올바른 위치(동일 도메인, SSL 컨텍스트)로 보냅니다. 내가 말했듯이 브라우저는 403 Forbidden 오류를 반환하고 로그에 표시되는 내용을 나열했습니다. yln.info를 제외하고 http 및 https의 모든 변형이 작동합니다.

SSL 인증서는 *.yln.info의 와일드카드입니다. 또한 이 서버의 이전 사이트에서는 yln.info를 잘 사용했다는 점에 유의해야 합니다. (새 conf 파일을 설치할 때 conf 파일 이름을 이전 파일로 바꿨습니다.)

관련 정보