webブラウザといえば、Apache, Nginxが有名です。
CaddyとはGo言語で記述されているOSSのwebサーバーです。
Caddyの最大のメリットは自動でHTTPSを有効にしてくれます。
Apache, NginxでもLet’sEncryptを使えば無料でHTTPSを有効にできますが、それがもっと簡単になります。
Caddy2は2020年5月4日にリリースされたばかりでまだまだ情報が少ないですが、インストールしてみます。
OSはcentos7です。
HTTPSのテストをするために、事前にドメインを取得しておきます。
今回はドメインをsakurai-caddy.testtotest.com
としました。
Caddy2 のインストール
Download Caddyの手順通りに行います。
今回はcurl
のほうでダウンロードします。
$ curl -OL "https://github.com/caddyserver/caddy/releases/latest/download/ASSET"
(これダウンロードしたファイルの中身をcatで確認するとNot Found
なんですよね…..)
インストールしていきます
$ sudo yum install yum-plugin-copr $ sudo yum copr enable @caddy/caddy $ sudo yum install caddy
次にHTTPS quick-startのページをみて行っていきます。
$ curl "https://cloudflare-dns.com/dns-query?name=sakurai-caddy-v2.testtotest.com&type=A" \-H "accept: application/dns-json" {"Status":0,"TC":false,"RD":true,"RA":true,"AD":false,"CD":false,"Question":[{"name":"sakurai-caddy-v2.testtotest.com","type":1}],"Answer":[{"name":"sakurai-caddy-v2.testtotest.com","type":1,"TTL":300,"data":"54.150.233.210"}]}
実行すると上のようにstatusが表示されます。
次にCaddyfile
を作成します。
$ cd #今はホームディレクトリで $ sudo vim Caddyfile #拡張子はありません sakurai-caddy-v2.testtotest.com #ドメイン名を入れる respond "Hello, privacy!" #" "の中が表示される。
これが作成できたら実行します。
$ sudo cadder run
これを実行するとフロントをで実行されます。
バックグラウンドで実行したい時はこちら
$ sudo cadder start #開始 $ sudo cadder stop #終了
では自分のドメインへブラウザからアクセスしてみましょう!!
Let’sEncryptによるHTTPSが有効になっています。
ちなみにHTTPでアクセスしようとすると、HTTPSにリダイレクトされます。
Caddyfileについて
今回のやり方では、Caddyfileがあるディレクトリでのみサーバーの起動や終了、リロードが行えます。
Apacheでいうドキュメントルートが設定されていない(私が設定していない?)ので、Caddyfileを作成したディレクトリが公開されることになります。これが非常に危険。
まずはhtmlなどを表示する方法です。
Caddyfileを編集します。
$ sudo vim Caddyfile sakurai-caddy-v2.testtotest.com file_server browse
このように記述するとファイルブラウザとして利用出来ます。
さぁここで問題になるのが、Caddyfile
の場所です。現時点ではホームディレクトリにあるので、ホームディレクトリにあるファイルやディレクトリが下記画像のようにすべて(.ssh
なども)公開されてしまいます。
なので場所を変える必要があります。Apacheで慣れている/var/www/
などに配置してもいいと思います。
ディレクトリにhello.html
などを作成すればhtmlファイルを表示することが出来ます。
JavaScriptが動くことは確認しました。
PHPが動くかな?と思い試してみましたが、phpを動作させることは出来ませんでした。
公式ドキュメントに記載がみつけられなかたので、サポートされていないのかな?と思います。(静的ファイル配信をサポートしているのなのでそういう仕様?)
おわりに
今より開発が進んでさまざまなことが出来るかもしれませんが、今のところはファイルブラウザとして使うのがよいのかな?と思います。
ともあれ、特別な設定をしなくてもHTTPSを有効に出来るのはとても便利ですね