개인적으로 Ubuntu 컴퓨터에 Lamp를 설치 한 후 SMTP 메일을 보내기 위해 웹에 연결해야하는 응용 프로그램을 실행하고 있습니다. 예를 들어, 페이팔은 결제 성공 또는 실패를 알리기 위해 www 주소가 필요합니다 ...
무료 .tk 도메인을 확보하고, 라우터 기본 설정을 변경하고, 컴퓨터 IP로 포트 포워딩하여 문제를 해결했습니다.
안전한가요? 방화벽이있어서 포트 80에 대한 액세스 만 제한합니다. 개인 파일이있는 개인용 컴퓨터입니다 (내 / var / www 폴더 제외).
더 나은 대안이 있습니까?
VMware Workstation에 Ubuntu Server를 설치하고 대신 가상 서버로 포트 포워딩하려고 생각했지만 너무 많은 리소스가 필요할 수 있습니다.
"실제"웹 서버에 배포 된 것처럼 웹 서버 구성 및 웹 응용 프로그램만큼 안전합니다. 웹 서버가 www-data 사용자로 실행중인 경우 www-data 사용자가 읽을 수없는 것으로 홈 디렉토리 권한을 변경할 수 있습니다.
cd ~
chmod 750 .
자신의 사용자 이름으로 로그인 한 상태에서 실행하십시오. 나머지는 웹 응용 프로그램 자체를 포함하여 많은 정보 없이는 추측 할 수 없습니다. 그러나 적어도이 정도는 홈 디렉토리의 파일이 읽히지 않는다는 것을 알기 때문에 조금 더 안심할 수 있습니다.
DOCUMENT_ROOT (/ var / www /?)에 .htaccess 파일을 만들어 다른 계층을 추가하면 웹 서버에 액세스하는 모든 사람이 먼저 사용자 이름과 암호를 제공해야합니다. 배포시 항상 제거 할 수 있습니다.
Apache를 사용하고 있다고 가정합니다. 추가 한 AuthConfig 지시문이 작동하는지 확인하기 위해 Apache 구성 파일을 편집합니다. 문서 루트를 지정하는 'Directory'지시문 내에서 AllowOverride 문에 AuthConfig가 있는지 확인합니다.
AllowOverride AuthConfig
또는 "모두"를 사용할 수 있습니다.
AllowOverride All
이를 통해 .htaccess 파일에 Apache 지시문을 넣을 수 있습니다. 이제 웹 사이트의 공용 부분 외부에 암호 파일을 만듭니다. 여기서는 초기 사용자 my_username을 사용하여 / usr / local / etc / apache /에 passwords라는 암호 파일을 생성합니다 (-c). 암호를 입력하라는 메시지가 표시됩니다.
sudo mkdir -p /usr/local/etc/apache/
sudo htpasswd -c /usr/local/etc/apache/passwords my_username
그런 다음 문서 루트에 Apache AuthConfig 지시문을 넣으십시오. 문서 루트가 / var / www /이면 자주 사용하는 편집기를 사용하여 새 파일 이름 .htaccess ...를 만듭니다.
sudo vim /var/www/.htaccess
그 파일의 내용 ...
AuthType Basic
AuthName "My Web App"
AuthUserFile /usr/local/etc/apache/passwords
Require user my_username
저장. www-data로 실행하는 경우 소유자 및 권한 변경 :
sudo chown www-data /var/www/.htaccess
sudo chmod 400 /var/www/.htaccess
이제 아무도 사용자 이름과 암호없이 웹 서버를 사용할 수 없으며 웹 서버는 개인 파일을 읽을 수 없습니다. 하지만 PayPal이 사용자에게 다시 리디렉션 될 때이 암호 방법이 어떻게 작동하는지, 어떻게 작동하는지 모르겠습니다.
웹 앱의 PayPal 반환 부분을 개발하는 동안 필요에 따라 .htaccess를 / var / www 디렉터리 안팎으로 이동할 수 있다고 가정합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다