1.ROOT경로변경법
nginx를 yum 설치시 기본경로는 /usr/share/nginx/html 이다.
하지만 기본경로를 바꾸고싶다면?
nginx설치경로/conf.d 에서
vi 에디터로 defualt.conf 를 연다
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
다음 부분의 root 경로를 원하는 소스가 있는 경로로 변경해주면 된다.
여기서 location은 url뒤에 붙는 경로로 만약 abc/test 아래에 소스가있다면,
location /test {
root /abc;
index index.html index.htm;
}
위와같이 설정하면 url에 ip:포트/test 까지 입력해서 접속할 수 있게 할 수 있다.
2. 403에러 대처방법
CentOS7 부터는 보안이 강화되어 단순히 root경로만 바꿔주었다면 403에러가 뜰 수 도 있다.
이때 403에러는 파일을 정상적으로 찾았으나, 접근이 불가하다는 뜻이다.
이것은 권한 때문이다. 기본적으로 소스경로에 폴더는 755, 파일은 644권한을 맞춰줘야한다.
하지만 여기서 추가적으로 CentOS7부터는 보안컨텍스트가 폴더와 파일에 라벨링이 되어있다.
ls -ldZ
명령어로 파일이나 폴더 권한을 확인해보면
기존의 ROOT경로인 /usr/share/nginx/html에서는
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 이지만
새로 생성한 소스경로에서는
drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 로
httpd_sys_content_t 에서 default_t로 바뀌어있다.
CentOS7에서는 특정 보안컨텍스트에서만 접근이 가능하므로,
바꿀 소스경로의 보안컨텍스트를 httpd_sys_content_t로 바꿔야한다.
chcon -R -t httpd_sys_content_t ./폴더명
위와 같은 명령어를 입력하면 해당폴더를 포함 그 아래의 폴더및 파일은 전부 httpd_sys_content_t로 바뀌고 그 후로 생성되는 파일과 폴더들도 httpd_sys_content_t를 가지고 생성된다.
변경 후 다시 접속해보면 403에러가 더이상 뜨지 않을 것이다.
'WEB WAS > WEB' 카테고리의 다른 글
[아파치] uriworkermap.properties 설정 가이드 (1) | 2020.11.03 |
---|---|
[아파치] 보안 설정 (0) | 2020.10.12 |
[nginx] CentOS에 nginx 설치하기 (0) | 2020.10.05 |
[아파치] expires 설정 (0) | 2020.06.15 |
[아파치] MPM 모듈로 튜닝하기 (0) | 2020.06.07 |