테스트 사이트 - 개발 중인 베타 버전입니다

그누보드5에 어울리는 Caddy 2 설정파일입니다.

· 5년 전 · 2728 · 58

링크에 설치부터 설명까지 다 적어뒀습니다!

 

우분투 20.04에서 Caddy 2를 설치했을 때 기준입니다.

 

설정 수정하기

 

[code]

nano /etc/caddy/Caddyfile

[/code]

 

이제 밑 코드를 그대로 넣으면 됩니다.

 

[code]

# http3를 실험적으로 사용하시려면 밑 옵션을 쓰시면 됩니다. 필요없다면 지워도 됩니다.

{

experimental_http3

}

 

# www를 non-www로 리다이렉트, 반드시 자신의 주소로 변경하기

 

www.example.com {
redir https://example.com{uri}
}

 

# 도메인 네임 지정하기 및 해당 도메인 설정 시작, 반드시 자신의 주소로 변경하기

 

example.com {

 

# 인코딩 방법 지정

 

encode zstd gzip

 

# 사이트 디렉토리 설정 : 자신의 설정으로 변경하세요.

 

root * /var/www/gnuboard

 

# 정적파일 이용가능하게하는 설정

 

file_server

 

# php7.4-fpm 연결

 

php_fastcgi unix//run/php/php7.4-fpm.sock

 

# 로그 설정 DEBUG나 INFO를 선택해서 쓰시면 됩니다.

log {
output file /var/log/caddy/caddy.log {
roll_size 2MiB
}
format json
level DEBUG
}

 

# 보안 헤더 넣기

 

header {
Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
X-XSS-Protection "1; mode=block"
X-Frame-Options SAMEORIGIN
X-Content-Type-Options nosniff
}

 

# 캐시 컨트롤 지정(해당 확장자에 5184000 캐시 컨트롤 지정)

 

@static {
  file
  path *.ico *.css *.js *.gif *.jpg *.jpeg *.png *.svg *.woff *.woff2
}
header @static Cache-Control max-age=5184000

 

# 이미지 불펌 방지 - 반드시 자신의 도메인으로 바꾸세요.

 

@fontPirate {
path /data/*
not header Referer https://example.com*
}

respond @fontPirate "Access denied" 403 {
close
}

 

# 그누보드 짧은 주소 리라이트

 

@content path_regexp content ^/content/([0-9a-zA-Z_]+)$
rewrite @content /bbs/content.php?co_id={re.content.1}&{query}
@title path_regexp title ^/content/([^/]+)/$
rewrite @title /bbs/content.php?co_seo_title={re.title.1}&{query}
@rss path_regexp rss ^rss/([0-9a-zA-Z_]+)$
rewrite @rss /bbs/rss.php?bo_table={re.rss.1}
@board path_regexp board ^/([0-9a-zA-Z_]+)$
rewrite @board /bbs/board.php?bo_table={re.board.1}&{query}
@write path_regexp write ^/([0-9a-zA-Z_]+)/write$
rewrite @write /bbs/write.php?bo_table={re.write.1}&{query}
@seo path_regexp seo ^/([0-9a-zA-Z_]+)/([^/]+)/$
rewrite @seo /bbs/board.php?bo_table={re.seo.1}&wr_seo_title={re.seo.2}&{query}
@id path_regexp id ^/([0-9a-zA-Z_]+)/([0-9]+)$
rewrite @id /bbs/board.php?bo_table={re.id.1}&wr_id={re.id.2}&{query}

 

# 설정 마지막

}

[/code]

 

https://ball.ml

 

여기에 Caddy 2로 돌아가는 그누보드를 볼 수 있습니다.

 

테스트 서버라서 금방 없어질 수 있습니다.

 

 

짧은 주소도 완벽하게 작동합니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 58개

@마젠토 게시판 부분은 한글 표현없이 잘 되더라구요 ㅎㅎ 내용관리만 문제였는데 이제 잘 됩니다. 감사합니다~!
@마젠토

짧은 주소 글쓰기 - 게시판 목록에서 글쓰기 버튼 누르면 주소 붙은채로 홈페이지로 돌아감
짧은 주소 설정시 - 글 수정 버튼 누르면 홈페이지로 돌아감 (주소는 write가 붙은채로)

이 문제는 어떻게 해결할 수 있을까요? ㅠㅠ
@우성짱 test 아이디라도
@마젠토

짧은 주소 글쓰기 - 게시판 목록에서 글쓰기 버튼 누르면 주소 붙은채로 홈페이지로 돌아감
짧은 주소 설정시 - 글 수정 버튼 누르면 홈페이지로 돌아감 (주소는 write가 붙은채로)

이 문제는 어떻게 해결할 수 있을까요? ㅠㅠ

-------자답-------

@write path_regexp write ^/([0-9a-zA-Z_]+)$
rewrite @write /bbs/board.php?bo_table={re.write.1}&rewrite=1



@write path_regexp write ^/([0-9a-zA-Z_]+)$
rewrite @write /bbs/write.php?bo_table={re.write.1}&rewrite=1

이렇게 바꾸면 되겠네요!!

잠결에 적다보니 잘못적었나봐요.
@우성짱 예. 막 글을 수정하고 있었는데.. 댓글이 달렸다고 글이 안되네요..

board.php가 아니라 write.php가 아닐까요

@write path_regexp write ^/([0-9a-zA-Z_]+)$
rewrite @write /bbs/board.php?bo_table={re.write.1}&rewrite=1
@마젠토

그렇게 빨리 댓글 다실 줄은 몰랐습니다 .ㅎㅎ

방금 수정했는데 똑같은데요 흠.. 왜 그럴까요?

test01/test01

테스트 부탁드립니다 .ㅠㅠ
@우성짱 역시 정규식은 밝은 대낮에 하셔야..

@write path_regexp write ^/([0-9a-zA-Z_]+)/write$
rewrite @write /bbs/write.php?bo_table={re.write.1}&rewrite=1
@마젠토 아 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

아직도 잠이 덜깼네요 ㅋㅋㅋ 3시간 자고 출근했더니 ㅠㅠ

감사합니다. 도전해볼게요!
@마젠토 이제 완벽합니다!!! 대박 ㅋㅋㅋ

마젠토님 덕분에 완성하네요 ㅠㅠ
@마젠토 이제 글 쓰기는 잘되는데...

문제는 글 수정을 눌러도 새글쓰기로 되네요 ㅠㅠ

https://ball.ml/free/write?w=u&wr_id=3&page=

이 형태에서 뒤에 ?w=u&wr_id=3&page= 이게 안먹는 것 같습니다.

게시글 목록

번호 제목
2973
2970
2968
2966
2964
2963
2962
2961
2960
2959
2958
2957
2949
2948
2947
2946
2943
2942
2941
2940
2938
2936
2935
2934
2933
2932
2931
2930
2929
2928