Windows 7에서 WAMP 403 금지 메시지


101

Windows 7 컴퓨터에 WAMP 버전 2.1을 설치했습니다. 브라우저에서 localhost로 이동하면 WAMP 서버 페이지가 표시됩니다.

하지만 브라우저에서 내 IP를 검색 할 때 메시지가 표시됩니다.

403 금지됨 :이 서버에 액세스 할 수있는 권한이 없습니다.

어떤 제안?


Apache 서버에 대한 액세스 127.0.0.1httpd.conf(Apache의 구성 파일) 이외의 주소에서 금지됩니다.
Nasreddine 2011

수정했습니다. 이제 phpMyAdmin에서 403 Forbidden이 표시됩니다. 이에 대한 제안 사항이 있습니까?
Jake

또한 phpmyadmin.conf'localhost / phpmyadmin'별칭에 대한 지시문이 포함되어 있습니다
Nasreddine

여기에 윈도우 8이 있다면이 CHK stackoverflow.com/questions/13945783/...
초라한

답변:


126

Apache 서버에 대한 액세스 127.0.0.1httpd.conf(Apache의 구성 파일) 이외의 주소에서 금지됩니다 .

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
</Directory>

PHPMyAdmin 액세스에도 동일하게 적용되며 구성 파일은 phpmyadmin.conf다음과 같습니다.

<Directory "c:/wamp/apps/phpmyadmin3.4.5/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1
</Directory>

다음과 같이 모든 IP 주소에서 연결을 허용하도록 설정할 수 있습니다.

AllowOverride All
Order allow,deny
Allow from all

7
이것은 확실히 모든 IP 주소에서 액세스를 열 수 있지만 조금 위험하지 않습니까? 'from 127.0.0.1'을 허용하는 규칙은 로컬 액세스를 허용하기에 충분해야합니다. 이것이 주요 목표 인 경우 127.0.0.1은 기본적으로 네트워크 어댑터로의 루프백입니다. 주소 표시 줄에 'http': //127.0.0.1 : {portNumber} / {folderOrFileName} '을 입력하면 제대로 작동합니다. 이것은 localhost를 사용하는 것과 동일하게 작동하지만 일부 브라우저에서 어떤 이유로 localhost에 문제가 있음을 발견했습니다.
제레미

마지막 댓글에 내 주소란의 형식을 지정할 수 없었기 때문에 추가 " '"가 추가되어 혼란 스러울 경우 미안합니다.
제레미

참고 : 파일은 기본값을 설정 한 다음 나중에 한 번에 하나씩 재정의하므로 이러한 줄이 모든 재정의 뒤에 있는지 확인하십시오.
Meetar

3
WAMP 시스템 트레이 메뉴에서 "모든 서비스를 다시 시작"하는 것을 잊지 마십시오 (또는 수행합니다.)
Plummer

12
아파치 버전이 2.4.x에서 들어 교체 Require localRequire all granted에서 의 httpd.conf 파일 내부 <Directory "c:/wamp/www/">태그는 모든 서비스를 다시 시작합니다
케쉬

62

더 간단한 해결책을 찾았습니다 ...

아이콘이 녹색 이었지만 WAMP는 여전히 "온라인으로 설정"(아이콘을 왼쪽 클릭 할 때 메뉴의 마지막 항목)이어야합니다.

그 후 나는 정상적으로 액세스했습니다.


3
실제로 이것은 허용 된 답변으로 표시되어야합니다. 고마워 친구.
ummahusla

: 당신이 actualy 풋 온라인 버튼을 클릭하면 설정이 업데이트되기 때문에이 솔루션은 upvote에 자격 forum.wampserver.com/read.php?1,119467,119546
피에르 - 이브 기메

이것은 나에게도 해결되었습니다. 제 경우에는 먼저 "오프라인으로 전환"한 다음 "온라인으로 전환"해야했고 구성 파일을 변경하지 않고 작업했습니다! 감사합니다!!
Osmar

1
사실 저는 첫 번째로 받아 들여진 대답에서 모든 것을 만들기 시작했습니다. 그리고 그것은 도움이되지 않았습니다. 그리고 여기에서 이걸보고 '이건 절대 안돼 ...'라고 생각했는데, 그게 효과가 있었어요.
Fusseldieb

Supercalifragilisticexpialidocious!
Vahid

25

저에게 "로컬 필요"를 포함하면 오류 403을 해결하는 데 도움이되었습니다. 별칭 구성 파일은 다음과 같습니다.

Alias /mytest/ "C:/mytest/" 

<Directory "C:/mytest/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order allow,deny
    Allow from all
    Require local
</Directory>

3
이것은 Apache 2.4.9를 사용하여 저에게도 효과적이었습니다. 이것을 오랫동안 찾고있었습니다. 감사!
Jonathan Lidbeck 2014 년

Options Indexes FollowSymLinks MultiViews도 필요합니다
하마드 칸에게

"C : / mytest /"부분을 추가 한 이유는 무엇입니까? 표준 작업에 보인다 그냥뿐만 아니라이기 때문에 어떤 효과를 가지고 있고, 단지 마지막에 /를 떠나는하지 않는 것
Squazz

로컬 네트워크의 다른 장치에서 사이트를 열려면 '로컬 필요'대신 '모두 허가 필요'를 사용하는 것이 좋습니다
Rakesh

"모두에서 허용"을 추가하면 나에게 도움이되었습니다.
Rex the Strange

10

httpd.conf에서 권한을 변경하는 솔루션은 외부에서 WAMP 서버에 대한 액세스를 제공해도 괜찮다면 작동합니다.

그렇게하지 않으려면 "localhost"도메인이 127.0.0.1을 가리킴을 창에 알리기 만하면됩니다. 시스템 디렉토리에서 호스트 파일을 편집하여이를 수행 할 수 있습니다.

파일은 C : \ Windows \ System32 \ drivers \ etc \ hosts에 있습니다.

기본적으로 Windows 7은 다음과 함께 제공됩니다.

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost

localhost에 대한 매핑의 주석 처리를 제거해야합니다.

# localhost name resolution is handled within DNS itself.
127.0.0.1       localhost
#   ::1         localhost

참고 : 호스트 파일을 읽기 전용 파일로 편집 할 수 없습니다. 편집하려면 관리자 여야하며 파일을 다른 위치에 복사하고 편집 한 다음 etc 디렉토리에 다시 복사해야합니다.

호스트 파일의 변경을 권장하지 않습니다. httpd.conf 파일의 권한을 사용하십시오. 외부에서 서버에 액세스하지 않으려는 경우에만 호스트 파일 방식을 사용하십시오.


8

httpd-vhosts.conf 파일에 다음 코드 줄을 추가해보십시오.

<VirtualHost *:80>
ServerAdmin serveradmin@host.com
DocumentRoot "C:\wamp\www"
ServerName localhost
</VirtualHost>

7

내가 알아 낸 또 다른 사실은 네트워크 어댑터가 IPV6을 사용하는 경우 127.0.0.1로 표시되지 않고 :: 1로 표시된다는 것입니다.

내가 한 일은 다음과 같습니다.

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
    Allow from ::1
</Directory>

PHPMyAdmin 액세스에도 동일하게 적용되며 구성 파일은 phpmyadmin.conf입니다.

<Directory "c:/wamp/apps/phpmyadmin3.4.5/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1
        Allow from ::1
</Directory>

이 답변은 실제로 요청되는 중요한 문제를 해결한다고 생각합니다. 즉, IPv6가 활성화되면 localhost가 IPv6 주소 (:: 1)로 확인되고 요청 주소도 IPv6 주소 (또한 ::: 1) 연결이 허용되는 유일한 주소 인 127.0.0.1과 동일하지 않습니다. 또한 localhost는 기본적으로 (호스트가 아닌) 로컬 DNS 서버를 통해 확인되며 나에 따르면 그렇게 두는 대신 IPv6을 비활성화하여 localhost가 127.0.0.1로 확인되거나 위와 같이 변경 / 포함하는 것이 더 나아 보입니다.
fast-reflexes 2013 년

'Allow from :: 1'을 "c : \ wamp \ alias \ phpmyadmin.conf 파일"에 추가하기 만하면 phpmyadmin 403 문제가 해결되었습니다.
ewroman

4

localhost / phpmyadmin /을 사용한 경우

간단히 사용

PHPMyAdmin 용 127.0.0.1/phpmyadmin/

SQLBuddy의 경우 127.0.0.1/sqlbuddy/

또는 localhost : 8080 / phpmyadmin /을 사용한 경우

PHPMyAdmin 용 127.0.0.1:8080/phpmyadmin/

SQLBuddy의 경우 127.0.0.1:8080/sqlbuddy/


4

더미 요소를 제거해야합니다. httpd-vhosts.conf

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>

감사! 이것은 그것을 고쳤습니다.
Steve

4

아파치 버전의 경우 2.4.x에서이 단순히 교체 Require localRequire all granted에서 의 httpd.conf 내부 파일 <Directory "c:/wamp/www/">태그는 모든 서비스를 다시 시작


1
이것은 나를 위해 트릭을했습니다. 이상한 점은 2 개의 다른 VirtualHost (httpd-vhosts.conf에 있음)에 '로컬 필요'또는 '모두 부여 필요'가 없으며 여전히 잘 작동한다는 것입니다. ¯_ (ツ) _ / ¯
kmdsax

3

Wamp 3.1.3 및 Apache 2.4의 경우 httpd-vhosts.conf 파일에서 한 줄만 변경하면됩니다.

  1. httpd-vhosts.conf를 엽니 다.
  2. "로컬 필요"를 "모든 권한 부여 필요"로 변경합니다.
  3. 모든 서비스 다시 시작

그런 다음 다른 컴퓨터에서 아파치 서버에 액세스 할 수있었습니다.

https://www.youtube.com/watch?v=Sy_f6wBGnjI 동영상에 크레딧을주세요.


2

이 문제에는 여러 가지 원인이있을 수 있습니다.

내가 경험 한 것은 :
1) 127.0.0.1 localhost항목이 호스트 파일에 중복되었습니다.
2) Apache mod_rewrite가 활성화되지 않았습니다.

원인에 관계없이, 백업 당신의 www도움이 될 것입니다 폴더, 가상 호스트 설정 파일 (및 아파치 설정 파일). 그리고 그러한 과정은 몇 분이 걸립니다.

행운을 빕니다


2

나는 모든 수정을 읽고 시도했지만 하나도 작동하지 않았습니다. 마침내 Wamp 서버 로고가 녹색이지만 "온라인으로"있어야한다는 사실을 알게되었습니다. 확인 후 간단하고 빠른 수정 PHPMyAdmin.CofgHttPD.cofgPUT ONLINE을 클릭하십시오.


1

위의 구성을 시도했지만 WAMP Apache 2.4.2 구성에서만 작동했습니다. Windows 호스트 파일에 명명 된 도메인이없는 다중 루트 사이트의 경우 http://locahost:8080, http://localhost:8081, http://localhost:8082다음 구성을 사용하십시오.

#ServerName localhost:80
ServerName localhost

Listen 8080
Listen 8081
Listen 8082
#..... 
<VirtualHost *:8080>
    DocumentRoot "c:\www"
    ServerName localhost
    <Directory "c:/www/">
        Options Indexes FollowSymLinks
        AllowOverride all
        Require local
    </Directory>
</VirtualHost>
<VirtualHost *:8081>
    DocumentRoot "C:\www\directory abc\svn_abc\trunk\httpdocs"
    ServerName localhost
    <Directory "C:\www\directory abc\svn_abc\trunk\httpdocs">
        Options Indexes FollowSymLinks
        AllowOverride all
        Require local
    </Directory>
</VirtualHost>
#<VirtualHost *:8082></VirtualHost>.......

1

나는 Windows 7에서 wamp 로이 문제에 직면했습니다. httpd-vhosts.conf에 다음 코드를 추가하면 문제가 해결되었습니다.

<VirtualHost *:80>
  DocumentRoot "F:/wamp_server/www/"
  ServerName localhost
</VirtualHost>

1

질문 해 주셔서 감사합니다. 지금 wamp 3을 사용하고 있습니다. 그리고 나는 당신의 질문에서 이것을 수행하는 간단한 대답을 찾습니다. 그러나 그 대답은 wamp 3에서 약간 변경 될 것입니다. 단계는 다음과 같습니다.

  1. Wamp 아이콘을 마우스 오른쪽 버튼으로 클릭
  2. Wamp 설정 선택
  3. 메뉴 항목을 클릭하십시오 : 온라인 / 오프라인
  4. 왼쪽 클릭 wamp 아이콘
  5. "Put online"이라는 새 항목이 있습니다.

감사합니다, @miltonb.
Smart Du

1

이것을 알아내는 데 영원히 걸렸습니다.

C : \ wamp \ bin \ apache \ apache2.4.9 \ conf \ extra \ httpd-vhosts.conf

이 파일에는 다음과 같은 여러 예제 가상 호스트 파일이 있습니다.

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>

이 항목을 삭제하고 다음으로 바꾸십시오.

<VirtualHost *:80>
    ServerAdmin serveradmin@host.com
    DocumentRoot "C:\wamp\www"
    ServerName localhost
</VirtualHost>

다른 오리가 일렬로 있는지 확인해야하지만 작동하는 솔루션이 있습니다.


0

안녕하세요 두 가지 솔루션이 있습니다.

  1. 텍스트 파일 (httpd.conf)에서 포트 80을 81로 변경하고 127.0.0.1:81을 클릭합니다.

  2. 네트워크 설정 변경 제어판-네트워크 및 인터넷-네트워크 및 공유 센터로 이동

클릭-> 로컬 영역 연결 선택-> 속성 -allow other ..... 및 --- allo other .....


0

나도이 문제가 있었다. 내 문제의 경로는 vhosts.conf 파일에서 실수를 저질렀다는 것입니다. 가상 호스트를 사용하는 경우 확인해야 할 또 다른 사항입니다.


0

httpd.conf 의이 구성은 저에게 잘 작동합니다.

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1 ::1
</Directory>

0

Windows를 사용하는 경우에도 .conf 파일의 경로 이름에 Windows의 디렉터리 구분 문자 (백 슬래시)를 사용하고 있지 않은지 확인하십시오. Apache는이를 이해하지 못하지만 여전히 시작된 다음 403 Forbidden Message.

잘못된:

<Directory "c:\websites\my-website\">

권리:

<Directory "c:/websites/my-website/">

0

놀랍게도 DocumentRoot (및 <Directory>와 같은 관련) 경로의 대괄호로 인해 오류 403이 발생할 수도 있습니다.

  • DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master[bang]" 403으로 실패했지만
  • DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master" 잘 작동했습니다.

(나는 아파치 경로 이스케이프를 알아내는 데 신경 쓰지 않고 경로를 대신 이름을 바꿨습니다. 누구든지 알고 있다면 댓글을 환영합니다.)


0

내 해결책은 인코딩 된 파일의 인코딩을 비활성화하는 것이 었습니다 (이 파일은 Windows에서 녹색 임). MAC 컴퓨터에서이 파일을 받았으며 기본적으로 암호화되었습니다.

Ive select these files > right click > properities > general tab > andvanced > uncheck encrypt files...

그리고 짜잔 작동합니다.


0

.htaccess 파일에서 엉망진창을 지우는 것 외에는 모든 것을 시도했습니다.

www / 디렉토리로 이동하여 다른 폴더 에 .htaccess 파일 의 사본을 만드십시오 . 그런 다음 .htaccess 원본 파일의 모든 줄을 지 웁니다 . 그리고이 줄을 추가하세요.

RewriteEngine 켜기

그런 다음 서버를 다시 시작하십시오. 이것은 내 문제를 해결하고 모든 로컬 호스트 사이트에 대한 액세스 권한을 얻었습니다. 당신도 해결되기를 바랍니다.


0

또한 Apache 2,4에서는 httpd-vhosts.conf를 포함하기로 결정한 경우이를 conf의 디렉토리 지시문에 추가해야 할 수 있습니다.

기본적으로 C : \에 wamp를 설치할 수 있지만 웹 개발을 다른 위치에 배포하도록 선택할 수 있습니다.

vhosts.conf 내에서이 작업을 수행하려면 다음 지시문을 추가 할 수 있습니다.

<Directory "e:/websites">
    Options Indexes FollowSymLinks MultiViews
    DirectoryIndex index.php
    AllowOverride All
  <IfDefine APACHE24>
    Require local
  </IfDefine>
  <IfDefine !APACHE24>
    Order Deny,Allow
    Allow from all
    Allow from localhost ::1 127.0.0.1
  </IfDefine>
</Directory>

0

디렉토리에있는 파일 c:/wamp/apps/phpmyadmin3.1.3.1/의 이름이 phpMyAdmin.conf ( Alias /phpmyadmin "c:/wamp/apps/phpmyadmin3.1.3.1/") 의 이름 (또는 버전)과 일치 하는지 확인하십시오.


0

ammps를 사용하는 경우 어떤 이유로 루트 폴더에있을 때 항상 금지되어 있으므로 루트 폴더 위의 디렉토리에 넣고 이것을 httpd.conf 사용하여 별칭을 만들었습니다.

Alias /phpmyadmin "C:/Program Files (x86)/Ampps/phpMyAdmin"

나는 ammps를 사용하고 있으며 다른 사람들에게도 효과가 있는지 확실하지 않지만 시도해 볼 가치가 있습니다.)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.