Draudžiama naudoti „Apache VirtualHost 403“

Neseniai bandžiau įdiegti testavimo serverį su „Apache“. Svetainė turėtų veikti pagal domeną www.mytest.com . Aš visada gaunu 403 Forbidden klaidą. Esu Ubuntu 10.10 serveryje. Šakninis dokumentas yra pagal dir /var/www . Žemiau pateikiami mano nustatymai:

Turinys / 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 

Serverio failo turinys (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 

Svetainės konfigūravimas

 <VirtualHost *> ServerAdmin admin@mytest.com 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> 

Aš neturiu .htaccess failo mano doc root. Leidimai teisingai nustatyti (skaityti pagal „www-duomenis“).

Jei įvedu IP adresą iš savo darbalaukio, svetainė rodoma teisingai. Aš www.mytest.com kompiuterio kompiuterio failą savo darbalaukyje, kad www.mytest.com į serverio IP adresą. Kai jį naudoju, gaunu 403 . Kadangi daugelis šios svetainės funkcijų yra jautrios pozicijoms, turiu turėti prieigą prie svetainės pagal domeno vardą.

Kitas baisus dalykas, net jei visi žurnalo failai yra sukurti teisingai, jie neturi informacijos apie šią klaidą.

Aš pakimba. Ar kas nors gali padėti?

91
05 авг. Yuchen Wang rinkinys 05 rug . 2011-08-05 19:00 '11 19:00 val. 2011-08-05 19:00
@ 7 atsakymai

Apache 2.4.3 (arba galbūt šiek tiek anksčiau) pridėjo naują saugumo funkciją, kuri dažnai sukelia šią klaidą. Taip pat matysite žurnalo pranešimą apie kliento atsisakymą serverio konfigūracijai. Ši funkcija reikalauja vartotojo ID prieigos prie katalogo. Ją įgalina „DEFAULT“, esanti „httpd.conf“, kurioje yra „Apache“. Jūs galite matyti, kad funkcija įtraukta į direktyvą

 Require all denied 

Iš esmės tai reiškia, kad prieiga prie visų vartotojų neleidžiama. Norėdami išspręsti šią problemą arba pašalinti atsisakytą direktyvą (arba daug geriau), į katalogus, kuriems norite suteikti prieigą, pridėkite šią direktyvą:

 Require all granted 

patinka

 <Directory "your directory here"> Order allow,deny Allow from all # New directive needed in Apache 2.4.3: Require all granted </Directory> 
238
18 дек. Atsakymą pateikė Phil L gruodžio 18 d. 2012-12-18 01:39 '12 at 1:39 2012-12-18 01:39

Apache Ubuntu 2.4.7 galiausiai nustatėme, kad jums reikia baltos jūsų virtualaus kompiuterio apache2.conf sąrašo

 # access here, or in any related virtual host. <Directory /home/gav/public_html/> Options FollowSymLinks AllowOverride None Require all granted </Directory> 
10
24 авг. atsakymas pateikiamas GAV 24 rug. 2014-08-24 14:35 '14, 14:35 2014-08-24 14:35

Tai gali būti leidimų klausimas.

Kiekvienas tėvų kelias į virtualiojo dokumento šaknį turi būti nuskaitomas, rašomas ir vykdomas žiniatinklio serverio. httpd vartotojas

pagal „Apache 403“ klaidos puslapį šiame puslapyje .

Kadangi naudojate Allow from all , jūsų užsakymas neturėtų būti svarbus, tačiau galite pabandyti jį perjungti į „ Deny,Allow nustatyti numatytąjį elgesį „leisti“.

8
28 сент. atsakymas pateikiamas Pops 28 sep. 2011-09-28 01:47 '11 prie 1:47 2011-09-28 01:47

Perkelkite katalogo pasiūlymą iš virtualios kompiuterio ir padėkite jį prieš paskelbdami virtualųjį kompiuterį.

Ilgą laiką man davė riešutų. Nežinau, kodėl. Tai yra Debianas.

4
04 окт. atsakymą pateikė samtresler 04 oct. 2012-10-04 01:20 '12 at 1:20 2012-10-04 01:20

Turėjau tą pačią problemą su virtualiu kompiuteriu Ubuntu 14.04

Šis sprendimas buvo naudingas man:

http://ubuntuforums.org/showthread.php?t=2185282

Jis tiesiog prideda <Directory > į /etc/apache2/apache2.conf

0
02 нояб. atsakymas duotas Roland 02 lapkričio. 2015-11-02 20:19 '15 at 20:19 2015-11-02 20:19

Mano problema buvo ta, kad failo prieigos leidimas buvo neteisingas, pakeitiau katalogo leidimus ir dirbau už mane

0
10 марта '14 в 13:54 2014-03-10 13:54 atsakymas pateikiamas slaver113 kovo 10 d. 14 val. 13:54 2014-03-10 13:54

Aš tiesiog praleidau kelias valandas šiai kvailai problemai.

Pirmiausia pakeiskite leidimus naudodami terminalą.

 find htdocs -type f -exec chmod 664 {} + -o -type d -exec chmod 775 {} + 

Nežinau, koks skirtumas yra tarp 664 ir 775. Aš abu 775, nes taip pat htdocs reikia katalogo kelio, pvz., Man tai buvo

 /usr/local/apache2/htdocs find htdocs -type f -exec chmod 775 {} + -o -type d -exec chmod 775 {} + 

Tai taip pat kvailas dalykas.

įsitikinkite, kad nuoroda į src vaizdą yra jūsų domeno vardas

 src="http://www.fakedomain.com/images/photo.png" 

Žinoma

 EnableSendfile off in httpd.conf file EnableMMAP off in httpd.conf file 

Jūs redaguojate tuos, kurie naudojasi Pico terminalu.

Taip pat sukūriau vaizdų katalogą, kad įvedus domeno vardo.com/images adresų juostą, gausite nuotraukų, kurias galite įkelti ir atsisiųsti, sąrašą, kad galėtumėte tiksliai nustatyti vaizdo failus.

 <Directory /usr/local/apache2/htdocs/images> AddType images/png .png </Directory> 

Ir tai yra sprendimai, kuriuos bandžiau, dabar turiu darbo vaizdus ... yay !!!

Į kitą klausimą (užduotis)

0
15 нояб. Jacob David C. Cunningham atsakymas lapkričio 15 d. 2014-11-15 14:52 '14, 14:52 2014-11-15 14:52