ha.....
wordpress 페이지에 접속할 때 403 forbidden error가 남
wordpress 403 forbidden
, nginx 403 forbidden
이런식으로 검색했는데 적용할만한 방법 안 나옴. 파일 소유 권한 문제일 수 있다고 했지만 난 이미 chown으로 소유자도 설정해줬었고, 디렉토리, 파일 권한도 755, 644로 문제 없었음directory index of "/var/www/html/wordpress/wp-admin/" is forbidden
이라는 에러 메세지를 발견할 수 있었음. 그래서 directory index of is forbidden
이라는 키워드로 구글에 검색을 했고, 스택오버플로 질문 발견 ㅠㅠhttps://stackoverflow.com/questions/19285355/nginx-403-error-directory-index-of-folder-is-forbidden
location / 블럭의 try_files에서 $uri/
를 빼야 했음
근데 왜인지는 봐도 잘 이해가 안 된다.. 뭐 indexing을 하게 되는데 default directory는 indexing이 disabled 돼있다는데.... 이게 뭔 말이지 암튼 해결됨 ㅠ
location / {
try_files $uri /index.php?$args;
}
--> 아 이유 정확히 알아냄;; server_block에 index를 제대로 설정 안 해줘서 index 파일이 없으니까 디렉토리 자체로 접근을 하게 된 거고, 디렉토리 접근은 안 되니까 403 forbidden이 된 거였다......
wordpress의 index인 index.php를 추가해줘야 하는 거였음ㅠ
server {
listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate /etc/ssl/certs/nginx.crt;
ssl_certificate_key /etc/ssl/private/nginx.key;
ssl_protocols TLSv1.3;
root /var/www/html/wordpress;
# before: index index.html index.htm;
index index.php index.html index.htm;
....
}
docker compose exec [container_name] [cmd]
로 커맨드를 실행시키게 할 수 있다(docker run으로 한 건 docker exec
로 가능). 이걸 응용해서 docker compose exec [container_name] bash
로 접근하면 컨테이너 상에서 패키지를 추가하거나 파일을 수정하는 등 자유롭게 테스트 할 수 있음