Caddy:タグのアーカイブ|ネットマーベラス(株)データアップロード詳しい開発実績など(非公開)....主要取引先(非公開)....お見積り出し(IP認証+Oauth)隠しノウハウ、隠し資料など(IP認証+Oauth)インターネット上のアクセスボリュームUPをお約束します。BottleフレームワークをCaddyで連携してみる。ソケット経由での例を作ってみました。スクリプトタイプで接続するのでスレッドセーフな作りを心がけてpythonコーディングすればスクリプト側はマルチスレッドせずに連携できるはずです。caddy側でマルチスレッド通信を制御してくれるはず。通常連携する方法で一番簡単なのはリバースProxy接続なのですが今回はfastCGIでBottleフレームワークのアプリを連携する例をやってみました。今回はhttp仕様での例ですが、SSL証明書を登録すればHTTP2対応も簡単にできちゃいます。Bottleを連携(今回はソケット接続でやってみます。)下記のようなソースコードapp.pyを用意します。app.pyCaddy側の設定(fastCGIソケット仕様)非常に設定がシンプルですね。指定された環境(Ubuntuだけど)がバージョンが古くphp7.xとかApache2.4.17以降がパッケージインストールできない。以前はダウンロードできたのに今は何故かレポジトリ追加してもリストされない。いうことでphpソースコンパイル&spawn-fcgiで対応することにした。最終的にWEBメールのRoundcubeの設置リクエストがあったのでセットアップしましたがすんなり簡単に終わりました。めでたし!php7.1をダウンロード&コンパイル。最新のphpソースだとライブラリー関連で時々エラーや警告で痛い目に合うので、無難にphp7.1だといけるかな!?ってことでphp7.1をダウンロードしてコンパイルすることにしました。上のバージョンでも成功するかもしれないので是非ご覧なっている方はチャレンジしてみてください。CGI環境を構築しPHPが実行できるように整える。/etc/init.d/fastcgiCaddyの設定を行うcaddyのインストールは省きます。過去の記事から参照ください。caddy設定のところのみ掲載します。roundcubeの設定も割愛します。roundcubteの動作確認まで。phpコンテンツの作りによってrewrite設定が必要なケースが様々あるので今後ご紹介して行こうと思います。#Roundcubeの場合、シンプルに以下だけfastcgi向けの設定すれば問題ありません。phpmyadminもこれだけでOK。includeSubdomains"}#Roundcubeの場合、シンプルに以下だけfastcgi向けの設定すれば問題ありません。phpmyadminもこれだけでOK。php}サーバ起動FASTCGIでPHP処理を待機させ、caddyを起動します。Webサーバで仮想サーバを作る場合は、/etc/caddy/配下にvhostsフォルダを作成し大元の設定ファイルをコピーしてドメインに該当する箇所とSSLの在り処、Pushする箇所のみ書き換えれば良い。仮想サーバ設定はimportのある最下行だけ削除しましょう。仮想サーバ設定ファイルは名前は何でも良い。拡張子が.confであるならすべてそのフォルダーにあるファイルを読み込んでくれる。仮想サーバは大元設定ファイル(Caddifile)の一番最下行にあるimport文で仮想ホストのインクルードを行う。ワイルドカードが使えるのでこの一行でvhostsに配置する仮想サーバ設定は終わりだ。今回はWEBメールのRoundcubeとPhpMyadminを以下の設定を修正してやってみたがあっさり動いた。caddyは設定が簡単でいいね。※設定ファイルの編集前に事前にフォルダー/etc/caddy/vhostsは作る必要があります。担当者http2対応の高速サーバを今回扱ってみる。このサーバはGo言語で開発されたWEBサーバです。導入にはコンパイルから行う場合はGo言語開発環境が必要ですがバイナリーから入れるのであれば、特にGo言語開発環境は必要ありません。導入方法は幾つかやり方があります。簡なのはCentOS7の場合ならepelレポジトリーから導入するのが簡単です。今回はこのサーバを理解するため少し手間がかかるバイナリーダウンロードから導入する方法を紹介します。Encryptから自動取得してくれます。通信スレッドはマルチスレッドタイプです。README.txtバイナリーパッケージを配置し実行環境を作る。<--取得済みのSSL鍵はここにドメイン名フォルダーを作り設置する。<--取得済みのSSL鍵はここにドメイン名フォルダーを作り設置する。/var/log/caddy起動をsystemdに登録するcaddyサーバの15,16行目の実行ユーザとグループを指定します。22行目を編集します。-quic追加とcaddyプロセスログファイルの出力先を変更します。systemdのサービスunitへ登録する。登録時はdisableの状態。systemdのサービスunitへ登録する。登録時はdisableの状態。caddy設定ファイルを作成するwww.testserv.netでhttps接続のListenや設定情報は以下のように行います。下記はWORDPRESSの場合の記述例になります。selinuxはOFFにしておきましょう。1」で影響がないか確認すると良いと思います。この設定でQualisのSSLテスト評価で「A+」取得できました。caddyトラブルシューティングうまくcaddyが起動できていない場合は、おおよそlogのディレクトリパーミッション、SSL鍵のディレクトリパーミッションが原因のケースが多い。caddyユーザに設定してサーバを起動することは、ログディレクトリがデフォルトでrootユーザ、rootディレクトリならば、パーミッションやグループの検討の余地が必要。本格的にやるならばログを開放するのは危険なので/caddy/logディレクトリ等を作った方が良いのかもしれないと思います。ログファイルなら予め0サイズのログファイル名をtouchコマンドで作っておくことをお勧めする。-xe」を実行して調べてみると良い。firewalldやiptablesでportが開放されているかチェックし、開放されてなければ該当portをオープンにしましょう。※まだまだ発展途上なところがありますが、個人的には大変気に入りました。設定がシンプルで少ない設定で動かせるところが良いと思います。当社でもApache2.4からこのサーバに切り替えて使っています。カーネルの起動エントリーを減らし/bootの空き容量を確保。Updateが進まなくなった場合の対処や大型Update後のゴミ掃除。GZIP圧縮、コンパイルキャッシュ。カーネルの起動エントリーを減らし/bootの空き容量を確保。viewsApacheログからセキュリティアタックの解析をする。