Niedawno próbowałem skonfigurować serwer testowy z Apache. Witryna musi działać w domenie www.mytest.com
. Zawsze pojawia się 403 Forbidden
błąd. Jestem na serwerze Ubuntu 10.10. Katalog główny dokumentu jest w reż /var/www
. Oto moje ustawienia:
Zawartość / var / www
ls -l /var/www/
total 12
drwxr-xr-x 2 root root 4096 2011-08-04 11:26 mytest.com
-rwxr-xr-x 1 root root 177 2011-07-25 16:10 index.html
Zawartość pliku hosta na serwerze (z IP 192.168.2.5)
cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 americano
192.168.2.5 americano.mytest.com www.mytest.com
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Konfiguracja witryny
<VirtualHost *>
ServerAdmin [email protected]
ServerName www.mytest.com
ServerAlias mytest.com
DocumentRoot "/var/www/mytest.com"
ErrorLog /var/log/apache2/mytest-error_log
CustomLog /var/log/apache2/mytest-access_log combined
#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/var/www/mytest.com">
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Nie mam .htaccess
pliku w katalogu głównym dokumentów. Uprawnienia są ustawione poprawnie (czytelne dla danych www).
Jeśli wpiszę adres IP z pulpitu, witryna wyświetli się poprawnie. Zmieniłem plik hosts na moim pulpicie, aby wskazywał www.mytest.com
na adres IP serwera. Kiedy go używam, otrzymuję 403
. Ponieważ wiele funkcji tej witryny jest wrażliwych na nazwę witryny, muszę mieć dostęp do witryny za pomocą nazwy domeny.
Inną dziwną rzeczą jest to, że nawet jeśli wszystkie pliki dziennika są tworzone poprawnie, nie zawierają informacji dotyczących tego błędu.
Utknąłem. Czy ktoś może pomóc?
źródło
sudo sh -c ". /etc/apache2/envvars; apache2 -S"
(lista Virtualhostów) oraz:sudo sh -c ". /etc/apache2/envvars; grep -R Listen /etc/apache2/*|grep -v \"#\"; grep -R NameVirtual /etc/apache2/*|grep -v \"#\""
VirtualHost configuration: 192.168.2.5:* www.mytest.com (/etc/apache2/sites-enabled/mytest.com:1) Syntax OK
Druga zwraca:/etc/apache2/ports.conf:Listen 80 /etc/apache2/ports.conf: Listen 443 /etc/apache2/ports.conf: Listen 443 /etc/apache2/conf.d/virtual.conf:NameVirtualHost *
Odpowiedzi:
Apache 2.4.3 (a może nieco wcześniej) dodał nową funkcję bezpieczeństwa, która często powoduje ten błąd. Możesz również zobaczyć komunikat dziennika w postaci „klient odrzucony przez konfigurację serwera”. Ta funkcja wymaga tożsamości użytkownika, aby uzyskać dostęp do katalogu. Jest włączana przez DEFAULT w pliku httpd.conf dostarczanym z Apache. Możesz zobaczyć włączenie tej funkcji za pomocą dyrektywy
Zasadniczo oznacza to odmowę dostępu wszystkim użytkownikom. Aby rozwiązać ten problem, usuń dyrektywę denied (lub znacznie lepiej) dodaj następującą dyrektywę do katalogów, do których chcesz udzielić dostępu:
jak w
źródło
/etc/apache2/apache2.conf
i pomogło, dziękuję!apache/conf/extra
wewnątrz/etc/apache2
W przypadku apache Ubuntu 2.4.7 w końcu stwierdziłem, że potrzebujesz białej listy swojego wirtualnego hosta w apache2.conf
źródło
Może to być problem z uprawnieniami.
według tej strony o błędach Apache 403.
Ponieważ używasz
Allow from all
, kolejność nie powinna mieć znaczenia, ale możesz spróbować przełączyć ją na,Deny,Allow
aby ustawić domyślne zachowanie na „zezwalanie”.źródło
Przenieś klauzulę Directory z virtualhost i umieść ją przed zadeklarowaniem virtualhost.
Długo mnie też doprowadzało do szału. Nie wiem dlaczego. To kwestia Debiana.
źródło
Miałem ten sam problem z wirtualnym hostem na Ubuntu 14.04
U mnie zadziałało następujące rozwiązanie:
http://ubuntuforums.org/showthread.php?t=2185282
Wystarczy dodać
<Directory >
tag do/etc/apache2/apache2.conf
źródło
Jeśli zrobiłeś wszystko dobrze, po prostu nadaj katalogowi domowemu uprawnień, na przykład:
następnie
źródło
Problem polegał na tym, że uprawnienia dostępu do pliku były nieprawidłowe.
Zmieniłem uprawnienia katalogu i zadziałało.
źródło
Miałem ten problem również na Arch Linux ... kosztuje mnie to trochę czasu, ale teraz cieszę się, że znalazłem swój błąd:
Mój katalog z
.html
plikami na moim koncie.Ustawiłem wszystko,
r+x
ale nadal mam403
błąd.Potem wróciłem całkowicie i spróbowałem ustawić mój katalog domowy na wykonanie, co rozwiązało mój problem.
źródło
Właśnie spędziłem kilka godzin nad tym głupim problemem
Najpierw zmień uprawnienia, używając tego w terminalu
Nie wiem jaka jest różnica między 664 a 775 Zrobiłem oba 775 w ten sposób Również htdocs potrzebuje ścieżki katalogu na przykład dla mnie to była
To też druga głupia rzecz
upewnij się na przykład, że link src do obrazu jest nazwą Twojej domeny
Upewnij się, że masz
Edytujesz te za pomocą pico w terminalu
Stworzyłem również katalog na obrazy specjalnie po to, aby po wpisaniu w pasku adresu przeglądarki nazwa_domeny.com/images, otrzymałeś listę zdjęć, które można pobrać i które należy pobrać, aby wskazać pliki graficzne, które działają poprawnie
A to są rozwiązania, które wypróbowałem, teraz mam działające obrazy ... yay !!!
Na następny problem (y)
źródło