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

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

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

우성짱님 대단해요. 전 서버가 너무 약해서...
우님 서버에서 ./history 던가... 사용한 명령어 목록 다운받으면 그게 바로 보물일듯요.
@만수킴 수박 겉핥기 지식입니다. ㅎㅎ

그래도 하나씩 성공하면 기분이 좋더라구요~
adm 접속도 바로 되나요?
@마젠토 넵 관리자 페이지 접속에 아무 문제없었습니다.

메뉴 생성도 잘 되고, 글 작성도 됩니다.
@마젠토 짧은 주소 추가했습니다.

https://caddy.community/t/rewrite-apache-nginx-rewrite-block-to-caddy/9009

여기에 캐디 관리자들과 대화가 있습니다.

정확하게 짧은 주소를 표현해주고 있습니다. 그런데 내용관리 내용물의 경우

기존 주소로는 정확하게 연결이 되는데, 짧은주소로 설정시 연결이 안되고 홈 화면으로 돌아오거나 없는 게시판이라고 뜹니다 ㅠㅠㅠ

이것만 해결하면 WIKI에 올려준다고 하는데 ㅠㅠ 한번 봐주시겠어요? ㅠㅠ
@우성짱 짧은 주소는 안 써봤지만, 지금 보니 정규식이네요.. 요즘 정규식 조금씩 보고 있는데.. ㅎㅎ

현재:
@content path_regexp content ^content/([0-9a-zA-Z_]+)$
rewrite @content /bbs/content.php?co_id={re.content.1}&rewrite=1

아마도 / 가 content앞에 빠지지 않았을까 생각됨.
@content path_regexp content ^/content/([0-9a-zA-Z_]+)$
rewrite @content /bbs/content.php?co_id={re.content.1}&rewrite=1
@마젠토 와 대박!!!! 내용관리 잘 나오네요!!!!
짧은주소를 숫자로 표기할때는 내용관리의 경우 영문으로 짧은주소가 되는데 이때는 홈페이지로 가고,

짧은주소를 한글표기 그대로 할때는 없는 게시판이라고 뜨네요 ㅠㅠ

https://ball.ml/

현재 숫자로 표기되게 했습니다.

밑에 내용관리 부분 회사소개 등을 누르면 홈 화면으로 갑니다 ㅠㅠ
@우성짱 대단하십니다. 아직 짧은 주소 이런것에는 관심이 없어서, 별로 생각을 안해 봤는데...

아래 부분만 처리하면 되는 것이네요
@우성짱 정규식에서 한글이 포함되어 있어야 될듯 합니다.
예시에 숫자는 마지막에 /가 없는데.. 한글은 /가 들어가 있네요..

일단 없는 것으로 만들어 보면..

https://docker.apachezone.com/free/안녕하세요
로 가정하면

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

https://docker.apachezone.com/free/안녕하세요/
로 생각한다면

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

로 테스트 부탁드립니다.

게시글 목록

번호 제목
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