/? filtering

예전부터 블로그를 www로 운영해 왔다. 그랬더니 웹에서 접근이 있다. 그래서 서브 도메인을 blog로 바꾸었다.

www.welovedoctor.com/?p=1202 이런 식으로 접근을 해오는 경우가 있다. 해당 주소는 없기 때문에 무시해도 좋지만 200 응답보다는 403을 응답하게 해주고 싶었다.

문제는 / 다음에 ? 는 정규식으로 처리되는 것 같다. 그래서 location 지시어를 제대로 적용할 수 없었다. 고민하다 다음의 방법을 이용하면 지정된 파일이 없을 경우 403 이 응답되는 것을 확인했다. 몇 일 로그를 지켜보면 결과를 알 수 있을 것이다.

location / {
	try_files $uri =403;
}

그런데 이렇게 하면 https://www.welovedoctor.com/ 을 입력했을 때 index.html 을 불러오지 못한다.