403 запрещено на Apache после попытки установить обратный прокси-сервер nginx
Моя настройка:
Капля Digital Ocean работает под управлением Debian 8
2 веб-сайта, каждый из которых работает на Apache2
Попытался установить nginx и настроить его в качестве обратного прокси-сервера, следуя этим инструкциям: https://www.digitalocean.com/community/tutorials/how-to-configure-nginx-as-a-web-server-and-reverse-proxy-for-apache-on-one-ubuntu-14-04-droplet
Он мгновенно сломал мои сайты, выдав ошибку Forbidden 403 при попытке доступа к ним.
Я потратил так много часов, пытаясь заставить его работать, и теперь решил оставить его и просто использовать Apache2, как раньше.
Но теперь на сайтах все еще отображается Forbidden 403 даже после остановки nginx. Вкратце установил lighttpd + lighttpd php5-cgi, и тогда я смог получить доступ к сайтам, однако он показывал только 1 сайт на обоих доменах.
У меня есть chown -R www-data:www-data /var/www
Также сделал chmod -R 755 /var/www
Пожалуйста, если бы кто-нибудь мог внести свой вклад, я был бы так счастлив. Я схожу с ума, пытаясь исправить этот беспорядок.:(
Apache ports.conf:
Listen 80
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
Пример из журнала ошибок Apache:
[Thu Mar 03 13:56:36.965194 2016] [authz_core:error] [pid 31517] [client 185.106.92.253:55470] AH01630: client denied by server configuration: /var/www/html/xmlrpc.php
[Thu Mar 03 13:56:43.316074 2016] [authz_core:error] [pid 31518] [client 185.106.92.253:52484] AH01630: client denied by server configuration: /var/www/html/xmlrpc.php
[Thu Mar 03 13:56:47.635774 2016] [authz_core:error] [pid 31496] [client 185.106.92.253:53967] AH01630: client denied by server configuration: /var/www/html/xmlrpc.php
[Thu Mar 03 13:57:00.853631 2016] [authz_core:error] [pid 31670] [client 185.106.92.253:50494] AH01630: client denied by server configuration: /var/www/html/xmlrpc.php
[Thu Mar 03 13:57:08.455024 2016] [authz_core:error] [pid 31668] [client 185.106.92.253:45464] AH01630: client denied by server configuration: /var/www/html/xmlrpc.php
[Thu Mar 03 13:57:21.641599 2016] [authz_core:error] [pid 31517] [client 185.106.92.253:38106] AH01630: client denied by server configuration: /var/www/html/xmlrpc.php
[Thu Mar 03 13:57:28.132631 2016] [authz_core:error] [pid 31518] [client 185.106.92.253:48468] AH01630: client denied by server configuration: /var/www/html/xmlrpc.php
apache2.conf:
Mutex file:${APACHE_LOCK_DIR} default
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 100
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
Include ports.conf
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/site1>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/site2>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory /srv/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
AccessFileName .htaccess
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
site1.conf:
<VirtualHost *:80>
ServerName www.site1.com
ServerAlias site1.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/site1
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/site1/>
Options FollowSymlinks
AllowOverride none
Require all granted
</Directory>
<IfModule mod_fastcgi.c>
AddHandler php5-fcgi .php
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /tmp/php5-fpm.sock -pass-header Authorization
</IfModule>
</VirtualHost>
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|ico|png)$ \ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ \no-gzip dont-vary
SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
site2.conf:
<VirtualHost *:80>
ServerName www.site2.com
ServerAlias site2.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/site2
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/site2/>
Options FollowSymlinks
AllowOverride none
Require all granted
</Directory>
<IfModule mod_fastcgi.c>
AddHandler php5-fcgi .php
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /tmp/php5-fpm.sock -pass-header Authorization
</IfModule>
</VirtualHost>
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|ico|png)$ \ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ \no-gzip dont-vary
SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
2 ответа
Слишком долго для комментария, но, вероятно, не полный ответ:
Странно, что вы получаете ошибки в пути файловой системы /var/www/html/
который находится за пределами путей DocumentRoot /var/www/site1
а также /var/www/site2
,
Это означает, что в игре может быть другой файл конфигурации. Вы можете проверить, что загружают эти директивы Include:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
и если есть .htaccess
файлы для получения исходного содержимого из /var/www/html.
В сообщении об ошибке ниже:
[Thu Mar 03 13:57:28.132631 2016] [authz_core:error] [pid 31518] [client 185.106.92.253:48468] AH01630: client denied by server configuration: /var/www/html/xmlrpc.php
вы видите, что он генерируется модулем: authz_core
что указывает на то, что это имеет отношение к элементам управления доступом, которые управляются этим модулем; в руководстве перечислено немало.
Именно эта конфигурация сервера запрещает доступ по пути:
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
разумная политика доступа по умолчанию, которая запрещает доступ, если специально не разрешено, но вы ничего не разрешаете для пути /var/www/html
; у вас есть только специально разрешить доступ к: /usr/share
/var/www/site1
/var/www/site2
& /srv
,
РЕДАКТИРОВАТЬ Хммм /var/www/html
может быть по умолчанию время компиляции DocumentRoot.
И из вашего hapache2.conf
кажется, что IncludeOptional sites-enabled/*.conf
или подобное отсутствует.
Это объясняет, почему вы попадаете в / var / www / html и терпите неудачу
Спасибо @HBruijn за вклад. Много значит!
Теперь мои сайты снова работают. Один показывает 500 Внутренняя ошибка, но другой это хорошо.:) Это я могу управлять!
Я изменил /etc/apache2/mods-available/fastcgi.conf на следующее, что решило проблемы:
<IfModule mod_fastcgi.c>
AddHandler php5-fcgi .php
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi_example.com
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi_example.com -socket /var/run/php5-fpm_example.com.sock -pass-header Authorization
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
</IfModule>