기본적으로 127.0.0.1을 사용하면 모든 것에 잘 액세스할 수 있지만 외부 IP(123.123.123.123)를 사용하면 페이지를 찾을 수 없습니다.
내 라우터는 내 서버 내부 IP 주소에서 HTTP 포트 80을 포트 8080으로 포트 전달하고 있습니다. 즉, (응용 프로그램: HTTP | 시작: 80 | 종료: 8080 | 프로토콜: 둘 다 | IP 주소 192.168.0.101 | 활성화 [예]) 포트 전달을 중지하면 라우터에 액세스할 수 있기 때문에 제대로 전달되고 있다는 것을 알고 있습니다. 내 외부 IP를 사용하여 페이지를 엽니다.
내 가상 호스트 파일은 다음과 같습니다.
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /opt/lampstack-5.3.16-0/apps/wordpress
ServerName example.com
ServerAlias www.example.com
</VirtualHost>
내 httpd.conf 파일은 다음과 같습니다.
Listen 80
Servername localhost:80
DocumentRoot "/opt/lampstack-5.3.16-0/apache2/htdocs
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny, allow
deny from all
</Directory>
<Directory "/opt/lampstack-5.3.16-0/apache2/htdocs">
Options FollowSymLinks
AllowOverride None
Order allow, deny
allow from all
</Directory>
답변1
이름 기반 가상 호스팅을 사용하고 있습니다. 다른 이름을 사용하여 웹 사이트에 액세스하려고 하면 기본 사이트가 표시됩니다.
NameVirtualHost *:80
Servername localhost:80
답변2
문제는 거부 권한이 있는 DocumentRoot를 지정하는 데서 발생한다고 생각합니다. 하지만 404 찾을 수 없음이 아닌 403 금지 오류가 발생해야 합니다(적어도 구성을 모방하려고 할 때는 그렇습니다).
DocumentRoot /opt/lampstack-5.3.16-0/apps/wordpress
이 디렉토리에는 항목이 없기 때문에 <Directory >
기본 권한을 상속받습니다.
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny, allow
deny from all
</Directory>
거부 라인을 주석 처리해 보세요
#Order deny, allow
#deny from all
또는 이 문제를 테스트하기 위해 새 항목을 생성합니다.
<Directory "/opt/lampstack-5.3.16-0/apps/wordpress">
Options FollowSymLinks
AllowOverride None
Order allow, deny
allow from all
</Directory>
메모:지금은 IP 주소를 사용하여 서버에 액세스하려고 해야 합니다. www.example.com은 DNS 항목이 없기 때문에 아무데도 갈 수 없습니다(또는 DNS 항목이 있더라도 서버를 가리키지 않습니다).
답변3
라우터 문제였던 것 같습니다. 라우터를 다시 시작해 보았지만 NAT 리디렉션을 활성화 및 비활성화하여 모든 것을 시도했지만. 방금 앉아 있었는데 라우터가 자동으로 재설정되었습니다. 라우터 관리 페이지에 들어가려면 (내가 설정한 비밀번호 대신) 기본 비밀번호를 입력해야 했습니다. 그 후 모든 것이 잘 작동했습니다.
또한 vhosts 파일에 아무 것도 넣지 말고 시도해 보세요. 그것도 작동할 수 있습니다.
이야기의 교훈: 만약을 대비해 다른 라우터를 사용해 보십시오.