호출하는 사용자가 아닌 내 애플리케이션에서 이를 /var/www/config/config.json
읽어야 합니다 myapp.com/config/config.json
. 어떻게 해야 하나요?
답변1
두 가지 주요 방법이 있습니다. 하나는 웹 서버가 아닌 다른 사용자로 응용 프로그램을 실행하고 응용 프로그램을 실행하는 사용자만 읽을 수 있도록 파일에 대한 권한을 변경한 다음 웹 서버를 사용하여 응용 프로그램에 프록시하는 것입니다. nginx
다음과 같이 프록시 로 사용할 수 있습니다 .
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:1234;
proxy_set_header X-Real-IP $remote_addr;
}
}
그래도 소용이 없다면 웹 서버에서 직접 차단하도록 다음과 같은 규칙을 설정할 수 있습니다.
location ~ /config\.json$ {
deny all;
}
이 작업은 다음에서 Apache를 통해 수행할 수도 있습니다 .htaccess
.
<Files ~ "config\.json$">
Order allow,deny
Deny from all
</Files>
답변2
SELinux를 사용하는 경우 컨텍스트를 설정하여 httpd
해당 하위 프로세스가 파일에 액세스하지 못하도록 설정할 수 있습니다. 내가 실수로 나한테 이런 짓을 한 거야항상.