kusanagi, lamp, cakephpで特定のハッシュURLが404になる
ハッシュをGETパラメーターで受け取って、特定ページを表示させる処理を書いています。
大体問題なく動くのですが、5回に1回くらいの割合で、404で動かないハッシュが生成されます。
リクエストがPHPまで届いていないようで、以下のような画面が返されます。
html
1<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 2<html><head> 3<title>404 Not Found</title> 4</head><body> 5<h1>Not Found</h1> 6<p>The requested URL /foo/bar/28/9MhGd0/KP6GqnNA/PBZtKA== was not found on this server.</p> 7</body></html>
cakephpのエラーログにはなにも記録されません。
access.logには以下のログを見つけました。404と表示され時間も大体合ってるのでこれかと。
しかし解決に役立ちそうな記述は見つからず。
これ以外にはめぼしい記述はなく、その他は200ばかりだったので割愛します。
/var/log/httpd/access.log
log
1[11/Aug/2018:13:53:04 +0900] "GET /manager/html HTTP/1.1" 404 210 "-" "Mozilla/3.0 (compatible; Indy Library)"
error.logには該当時間帯のログはなかったので同じく割愛。
問題なく動くハッシュと、動かないハッシュを見比べてみても違いがよく分からず。
404の画面にある通りスラッシュが混じっているので、そのスラッシュも取得できるように書いてみたりしたんですが、そもそもPHPまで届いていないようで効果なく。
期待通り。問題なくページが表示される。
url
1https://hoge.com/foo/bar/29/jZqC5En0YhDoSx6SpZsKJQ%3D%3D
404 Not Fond
url
1https://hoge.com/foo/bar/28/9MhGd0%2FKP6GqnNA%2FPBZtKA%3D%3D
長いのかな?と思って少しずつ削ってみた結果は以下の通り。
404 Not Fond
url
1https://hoge.com/foo/bar/28/9MhGd0%2FKP6GqnNA%2FPBZtK
400 Bad Request
url
1https://hoge.com/foo/bar/28/9MhGd0% 2
期待通り(cakephpで用意したエラーページ表示)
url
1https://hoge.com/foo/bar/28/9MhGd0
だいぶ削ってPHPまで届いたようなんですが、そもそも問題なく表示されるハッシュはだいぶ長くても大丈夫なので、長さの問題ではないかと。
追記:ハッシュは rawurlencode() でエンコードしています。
知識が乏しく、どこから調べていけば良いのかも検討がつきません。
なにかヒントなどありましたら、よろしくお願い致します。
kusanagi status は以下の通りです。
kusanagi
1Type: lamp 2KUSANAGI Version 8.2.1-2 3sakura 4 5*** (not active) nginx *** 6● nginx.service - The NGINX HTTP and reverse proxy server 7 Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) 8 Active: inactive (dead) 9 10*** (active) Apache2 *** 11● httpd.service - The Apache HTTP Server 12 Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) 13 Active: active (running) since 日 2018-07-15 15:44:06 JST; 3 weeks 6 days ago 14 15*** (not active) PostgreSQL *** 16 17 18*** (active) php-fpm *** 19● php-fpm.service - The PHP FastCGI Process Manager 20 Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled) 21 Active: active (running) since 日 2018-07-15 15:44:06 JST; 3 weeks 6 days ago 22 23*** (not active) HHVM *** 24● hhvm.service - HHVM virtual machine, runtime, and JIT for the PHP language 25 Loaded: loaded (/etc/systemd/system/hhvm.service; disabled; vendor preset: disabled) 26 Active: inactive (dead) 27 28*** (not active) Pgpool-II *** 29 30 31*** (not active) php7-fpm *** 32● php7-fpm.service - The PHP FastCGI Process Manager 33 Loaded: loaded (/usr/lib/systemd/system/php7-fpm.service; disabled; vendor preset: disabled) 34 Active: inactive (dead) 35 36*** (active) MariaDB *** 37● mariadb.service - MariaDB 10.1.33 database server 38 Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) 39 Active: active (running) since 水 2018-05-16 13:51:53 JST; 2 months 26 days ago 40 41*** ruby *** 42ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux] 43 44*** add-on *** 45 46*** Cache Status *** 47fcache off
回答1件
あなたの回答
tips
プレビュー