最近自己重新做固件嗯,因为某些癖好(算是吧,因为太钟爱于https了),一直在启用luci的https,可是不知道为什么,uhttpd的TLS插件无法启用,于是蛋疼了,我擦嘞,不了个是吧,不带这样玩啊…

于是只能启用不安全的uhttpd,让我一阵纠结,心里总是没有安全感…

一晃打开了transmission-web,突然想起了以前看到过的一个老外写的blog,说想远程管理transmission,但是transmission又没有密码保护(现在的版本好像有了),于是就用个nginx做前端,加上密码认证,就可以避免别人过来搞东搞西了。

这给了我启发,为什么不用nginx做SSL的前端呢?效果是一样的啊,顺带transmission的远端管理也可以做了,一举双得。

于是我动手了

首先是重新编译了一次nginx,因为官方编译的nginx没有包含ssl支持

然后启动了普通版的uhttpd,开始监听之后,修改nginx的配置,打开ssl支持,加上证书个密钥(因为用的是以前的证书,所以不用重新签),再写个proxy_pass(这个似乎有点问题,如果写到了location /path/ 中之后出现了问题,似乎是东西显示不完全,格式有点乱,后来写到 location / 中就没有问题了)

顺便把transmission的web管理加上,reload一次之后就完全没问题了。除了载入速度略有下降(transmission的web管理速度慢了稍微有点多)

附上一下配置文件

server {
listen 443;
server_name Router;

charset utf8;

ssl on;
ssl_certificate /etc/ssl/CA/keys/luci_school.crt;
ssl_certificate_key /etc/ssl/CA/keys/luci.key;

ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

location / {
proxy_pass ;
proxy_redirect default;
}
location /transmission {
proxy_pass ;
proxy_redirect default;
}
}

4 thoughts on “启用了Nginx作Luci的SSL前台

发表评论