20190507_jeffrey - silenceuncrio/diary GitHub Wiki
0910
先 verify 一下 M330 CTCU profile 的 web ui 狀況
網頁都有客製化成 M300 上 CTCU 的樣式
HTTPS 連線約有 10% 不到的機率 CGI 會死掉造成點選了 menu 沒有反應
1010
繼續 M300 的 feature/lighttpd
1025
今年上半年的績效 我自評 82 主管評 84
1035
終於做出一點我想要的樣子
commit ff96561cace6d84466980e744c1646edb2210c0c
Refs: [feature/lighttpd]
Author: jeffrey <[email protected]>
Date: Tue May 7 10:37:47 2019 +0800
porting status.cgi
- cgi - /cgi-bin/status.cgi?act=status
- fcgi - /fcgi-bin/iweb.fcgi?app=status?act=status
proscend/prosrc/fcgi/Makefile | 2 +-
proscend/prosrc/fcgi/app.h | 3 +
proscend/prosrc/fcgi/app_status.c | 493 ++++++++++++++++++++++++++++++++++++++
proscend/prosrc/fcgi/iweb.c | 7 +-
proscend/prosrc/fcgi/jweb.c | 8 +
proscend/prosrc/fcgi/jweb.h | 1 +
6 files changed, 510 insertions(+), 4 deletions(-)
有了這一支 fcgi 我就可以來試一下 lighttpd 的 URL rewrite
1400
lighttpd 搭配以下的 config
...
server.modules = (
"mod_rewrite",
# "mod_redirect",
...
"mod_accesslog" )
...
#### url handling modules (rewrite, redirect, access)
url.rewrite-once = ( "^/xxx$" => "/fcgi-bin/iweb.fcgi" )
...
確定在網址列輸入 192.168.1.1/xxx
後
會去執行 192.168.1.1/fcgi-bin/iweb.fcgi
1450
url rewrite 暫時搞定
commit 86876cea73a1984a86785280b30a7aea95f1a92c
Refs: [feature/lighttpd]
Author: jeffrey <[email protected]>
Date: Tue May 7 14:48:36 2019 +0800
use lighttpd url rewrites to rewrite cgi-related request to fcgi-related request, for ex.
- before rewrite: REQUEST_URI="/cgi-bin/status.cgi?act=status"
- after rewrite: REQUEST_URI="/fcgi-bin/iweb.fcgi?app=status&act=status"
.../recipes-extended/lighttpd/lighttpd_1.4.36.bbappend | 3 ++-
.../default/rootfs/home/factory/icos/lighttpd/lighttpd.conf | 12 ++++++++----
2 files changed, 10 insertions(+), 5 deletions(-)
目前搭配的 config 如下
...
server.modules = (
"mod_rewrite",
# "mod_redirect",
...
"mod_accesslog" )
...
#### url handling modules (rewrite, redirect, access)
url.rewrite-once = (
"^/cgi-bin/([a-zA-Z]+).cgi$" => "/fcgi-bin/iweb.fcgi?app=$1",
"^/cgi-bin/([a-zA-Z]+).cgi\?act=([a-zA-Z]+)$" => "/fcgi-bin/iweb.fcgi?app=$1&act=$2"
)
1540
按照 web 的順序前進
System > Time and Date
一點選後觸發的 CGI 為 /cgi-bin/sntp.cgi?act=config
這會回 401 讓 javascript 顯示 login 畫面
我先來把 sntp.cgi porting 到 iweb.fcgi 來
commit d289870f3ddb822e8bc7636ab08800f6fe111092
Refs: [feature/lighttpd]
Author: jeffrey <[email protected]>
Date: Tue May 7 16:04:17 2019 +0800
porting status.cgi
- cgi - /cgi-bin/status.cgi?act=status
- fcgi - /fcgi-bin/iweb.fcgi?app=status?act=status
proscend/prosrc/fcgi/Makefile | 2 +-
proscend/prosrc/fcgi/app.h | 5 +++++
proscend/prosrc/fcgi/app_status.c | 2 ++
proscend/prosrc/fcgi/iweb.c | 6 +++++-
4 files changed, 13 insertions(+), 2 deletions(-)
再來又是難題了
需要 implement session