最近自己重新做固件嗯,因为某些癖好(算是吧,因为太钟爱于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;
}
}

最近把移动硬盘插到了路由上,开始玩samba,可是遇到了一个不大不小的问题,硬盘挂载似乎有点问题。

使用默认的mount支持的话,ntfs分区的挂载是只读挂载,这就麻烦了,我可不想老是手动挂载啊。而且如果只是只读的话那是相当的没意思啊。于是稍微上网找了一下相关资料。
挂载点
嗯,最简单的一种方法,就是安装软件包“ntfs-3g”。安装完之后,会说注册了新的文件系统“ntfs-3g”。然后,进入luci,找到挂载点,修改详细,文件系统选择“自定义”,然后输入“ntfs-3g”,然后挂载。挂载出来的就是可读的,在samba上浏览也没有乱码的问题。

相当的简单却又有效的方法啊。

嘛~是因为准备做来练练手什么的,于是我就弄出来了。

以下是参考书:
http://www.chinaunix.net/jh/6/16469.html

成品:

到Luci的安全连接
到Luci的安全连接

 

要求的软件包:
openssl-util
luci-ssl
uhttpd-mod-tls

切换目录到/etc/ssl/certs
———————————————–开端的分割线————————————————-
首先,是创建自己的证书:

openssl genrsa -out ca.key 1024

openssl req -new -x509 -days 3650 -key ca.key -out ca.crt

*这里需要输入信息
Country Name: CN 两个字母的国家代号
State or Province Name: GuangDong 省份名称
Locality Name: GuangZhou 城市名称
Organization Name: Family Network 公司名称
Organizational Unit Name: Home 部门名称
Common Name: Ferrets 你的姓名
Email Address: Ferrets@live.cn Email地址
得到ca.crt
这是CA证书,添加到“受信任的证书颁发机构”,或是“受信任的发布者”,以信任自己所颁发的证书

 

openssl genrsa -out server.key 1024

 得到密钥

openssl req -new -key server.key -out server.csr

这是证书签署请求,在自己签署之后可以删掉

 

接下来是签署(sign.sh

上面是一个sign.sh的脚本,用来签署证书,请放到/etc/ssl/certs,加上可以运行的属性。

./sign.sh server.csr

然后就是确认信息,确认添加数据到数据库(虽然我不知道用不用的上)

得到server.crt
这是服务器证书,添加到“个人”,以信任自己的网站。

————————————————承上启下的分割线———————————————–
接下来是启用这个自己签署的证书了。
在装上luci-ssl和uhttpd-mod-tls之后,uhttpd应该就可以监听443端口了。
修改“/etc/config/uhttpd”
找到“option cert” 修改后面的值为“/etc/ssl/certs/server.crt”
找到“option key” 修改后面的值为“/etc/ssl/certs/server.key”
*这里要注意一下,如果你没有ipv6的路由的话就不要监听[::]:443,会找不到的,监听0.0.0.0:443
保存,重启uhttpd。
————————————————华丽谢幕的分割线————————————————
接下来,请尝试用https来访问自己的路由吧~