Назад | Перейти на главную страницу

Apache сообщает: «Запрещено. У вас нет разрешения на доступ к этому ресурсу». в конкретный домен

У меня есть сервер на AWS, который обслуживает ряд веб-сайтов. Также установлен Webmin.

В Apache, когда я пытаюсь создать веб-сайт, скажем ferrari.example.com, Я получаю сообщение об ошибке Forbidden. You don't have permission to access this resource. когда я запрашиваю его в веб-браузере.

Это НЕ проблема с правами доступа к файлу, потому что, если я использую другое доменное имя (указывающее на тот же каталог), оно работает нормально.

Это НЕ проблема конфигурации Apache, потому что, если я изменю только имя домена (и никакие другие настройки конфигурации), все будет нормально.

Да, у меня есть правильная запись DNS, указывающая ferrari.example.com указывает на мой сервер.

Нет, в Apache нет других сайтов, конфликтующих с доменным именем. Я сделал grep -r ferrari * в /etc/apache и нашел только этот сайт.

Есть ли у кого-нибудь другие идеи, почему это не работает?

<VirtualHost *:80>
DocumentRoot /var/www/ferrari.example.com
ServerName ferrari.example.com
<Directory /var/www/ferrari.example.com>
AllowOverride All
Options None
Require all granted
</Directory>
</VirtualHost>

Я думаю, что у меня НЕ установлен SELinux.

Отладка на уровне журнала показывает следующие ошибки:

[Thu Sep 19 19:13:00.740101 2019] [authz_core:debug] [pid 31107] mod_authz_core.c(809): [client 204.112.96.198:13742] AH01626: authorization result of Require all denied: denied, referer: http://ferrari.example.com/
[Thu Sep 19 19:13:00.740130 2019] [authz_core:debug] [pid 31107] mod_authz_core.c(809): [client 204.112.96.198:13742] AH01626: authorization result of <RequireAny>: denied, referer: http://ferrari.example.com/
[Thu Sep 19 19:13:00.740139 2019] [authz_core:error] [pid 31107] [client 204.112.96.198:13742] AH01630: client denied by server configuration: /var/www/html/favicon.ico, referer: http://ferrari.example.com/

Я столкнулся с той же проблемой.

Вот как я это решил

Откройте файл apache2.conf с помощью редактора nano.

sudo nano /etc/apache2/apache2.conf

Замените общие настройки каталога на это.

<Directory />
    #Options FollowSymLinks
        Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
        Order deny,allow
        Require all granted
</Directory>

<Directory /usr/share>
    AllowOverride None
    Require all granted
</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>


#<Directory /srv/>
#   Options Indexes FollowSymLinks
#   AllowOverride None
#   Require all granted
#</Directory>

Убедитесь, что файл конфигурации вашего виртуального хоста находится в /etc/apache2/sites-available каталог таким образом

<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port t$
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        ServerName example.com (put your domain name here)

        ServerAdmin webmaster@localhost
        DocumentRoot /home/username/myapp (put your app root directory here)

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Перезапустите службу Apache2

sudo systemctl restart apache2

Вот и все.

надеюсь, это поможет