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

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

· 5년 전 · 2719 · 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개

@마젠토 넵 필요한 부분들 정리하면서 넣어뒀습니다.

불펌방지, 보안헤더 등등
@마젠토

https://caddyserver.com/docs/caddyfile/concepts#placeholders

여기보니 {http.request.uri.query} 를 {query} 로 바꿀 수 있네요!!! 더 간단해졌어요 ㅎ
@우성짱 혼자 하는 것 보다 확실히 빠르게 만들수 있어서 좋네요.
위의 다른 곳도 &rewrite=1 로 되어 있는 곳을 &{query}로 변경해 주세요
@마젠토 아하 전부 바꿔도 되는군요!!
@우성짱 &rewrite=1이 주소에서 query문을 담당하는 것이라고 하면 caddy에서 맞는 것으로 변경해 주어야 겠죠.. 그런데 검색을 해도 이 의미를 잘 모르겠습니다.
rewrite=1 도 있고, rewrite=2도 있고.. <= 이것을 Q/A 물어 볼려고 했었죠.
@마젠토 한번 체크해봐야겠네요 ㅎㅎ
전부 {query}로 바꿔도 같은 효과가 있네요!!

그런데 RSS를 보다보니 게시판 RSS link 주소가 각 게시물 링크가 생성이 안되고 그냥 게시판 링크로만 나오더라구요.

그누보드 5.3에서는 게시물 링크로 잘 나오는데, 5.4버전의 버그로 보입니다. 그래서 버그 제보했어요. ㅎㅎ

정리해서 Caddy2 설치하는 방법에 대해서 글을 올려봐야겠습니다.
@마젠토 링크에 설치 방법까지 올렸습니다. ㅎㅎ

게시글 목록

번호 제목
3081
3071
3054
3052
3049
3045
3042
3039
3035
3030
3029
3028
3025
3022
3018
3017
3016
3012
3003
2999
2998
2996
2993
2985
2983
2982
2978
2977
2976
2974