【Apache2.2】起動時にapr_sockaddr_info_get() failed が発生する
問題 apache をrestart したり configtest したりすると、以下のエラーが発生します。 $ apachectl -t httpd: apr_sockaddr_info_get() failed for xxxxxxxx httpd: Could not reliably determine the server's fully qualified domain name,...
View ArticleApache2.4のアクセス制御はRequireに統一するといい
問題 Apache2.2から2.4への移転で、元の .htaccess のIP制限やベーシック認証を持ってきたのですが、なんだか思ったように設定しづらいです。 答え 古い .htaccess だと、Order、Allow、Deny、Satisfy などを使って書かれていると思う。 Order Deny,Allow Deny from all Allow from xxx.xxx.xxx...
View Article【Apache】プロキシで特定のパスだけ除外
問題 全体的に / をプロキシしていいのですが、特定のパスだけしないでほしいです。 例) /.well-known/ だけ除外 – 答え よくあるプロキシ設定 <VirtualHost *:443> # 略 ProxyPass / http://192.0.2.123/ ProxyPassReverse / http://192.0.2.123/ # 略...
View ArticleCentOS9のapacheで Let’s Encrypt 使いたい
問題 CentOS 9 Stream で Let’s Encrypt 使おうとしたら certbotコマンドでエラーになりました。 # certbot certonly --apache Saving debug log to /var/log/letsencrypt/letsencrypt.log Error in checking parameter list: The apache...
View Article【Let’s Encrypt】BASIC認証ありで証明書の更新
問題 ベーシック認証していると Let’s Encrypt のサーバー証明書の更新ができないですよね? 答え 通常の所定のURLでファイル認証するパターンであれば、そこだけベーシック認証を解除す売ればよい。 例) SetEnvIf Request_URI "/.well-known/acme-challenge" acme-challenge Order Deny,Allow Deny from...
View Article【apache】Ifディレクティブで適用順序が変わる?
問題 通常は拡張子phpをphp7.4で処理するが、特定の条件の時だけ除外したくて、 サーバー設定ファイル(httpd.conf)で以下のようにして、 <FilesMatch \.php$> <If "条件"> SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost" </If>...
View ArticleLet’s encrypt の暗号化方式がECDSAになっていた
問題 Let’s encrypt で証明書を取得したら、秘密鍵が見慣れない形式になっていました。 妙に短いです。 RSA方式ではなさそうです。古い環境で使えない。 なんでしょう? 答え Let’s encrypt の暗号化方式のデフォルトがECDSAになっている。 RSA方式が必要な場合は、オプションで指定する。 --key-type rsa 例)DNS認証で証明書を取得するとき certbot...
View Article【Apache】.git へのアクセスを拒否する
問題 DocumentRoot以下に git clone したら、.git が見えてしまうようですね。 .gitへのアクセスを拒否するにはどうするとよいですか。 答え 以下のような設定をするとよい。 Apache 2.4 で DirectoryMatch 方式 <DirectoryMatch "/\.git"> Require all denied...
View Article【Apache】Rewriteのクエリ文字列のエンコード、デコード
問題 Rewriteでパラメータをつけると、%エンコードされていたものがデコードされたりする? 答え エンコードさせたり、させなかったりできる。 .htaccess で以下のようになっているとき RewriteEngine On RewriteRule ^index.php\x3F(.*)$ ./?$1 [L] 以下のようなURLにアクセスすると、...
View ArticleApacheで複数バージョンのphp-fpmをホスト名で切り替える
問題 php-fpmを5系、7系、8系と実行していて、 Apacheからはホスト名を変えると使うphpのバージョンが切り換えれるようにしたいです。 例) php5.example.com → php5.6php7.example.com → php7.4php8.example.com → php8.2 答え debian、ubuntu ではapacheの設定を a2enconf,...
View Article