Windows 7에서 WAMP 403 금지 메시지


101

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

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

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

어떤 제안?


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

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

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

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

답변:


126

Apache 서버에 대한 액세스 127.0.0.1는 httpd.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 local로 Require 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 local로 Require 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.Cofg및 HttPD.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.