有些不想让人随便看的东西会在访问目录时认证一下，对于Lighttpd来说还是比较方便的（参照这里），可选的方式也比较多。我选择htpasswd，一个Apache的工具来生成认证文件，再通过设置lighttpd.conf开启认证。htpasswd -bc .passwd username password 在lighttpd.conf后面添加server.modules += ( "mod_auth" ) auth.backend = "htpasswd" ## for htpasswd auth.backend.htpasswd.userfile = "/home/.passwd" auth.require = ( "/path/" => ( # method must be either basic or digest "method" => "basic", "realm" => "download archiv", "require" => "user=name1|user=name2" ) )
前两月获得过一个免费的SSL证书，一直没时间弄，这几天有点时间设置了下。从网站上下载的证书包含三个文件(.cer .key .crt)，如果是Apache三个文件直接使用，编辑站点对应的站点配置文件,如:apache安装目录/conf/extra/httpd-ssl.conf, 修改内容如下 DocumentRoot "/var/www/html" ServerName www.domain.com SSLEngine on SSLCertificateFile 证书文件路径/_www.domain.com.cer SSLCertificateKeyFile 证书文件路径/_www.domain.com.key SSLCertificateChainFile 证书文件路径/_www.domain.com_ca.crt 如果是Nginx，配置里只要两个文件，需要将cer文件内容复制到crt文件的头部，然后配置如下 server { listen 443 ssl; ... root /www/web/xxxx/public_html; ssl_certificate 证书文件路径/_www.domain.com.crt; ssl_certificate_key 证书文件路径/_www.domain.com.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!LOW:!aNULL:!eNULL; ... }如果是Lighttpd，只用一个文件，所以要把三个文件合为一个www.domain.com.pem文件（按照key cer crt的顺序，中间不留空格）然后配置如下$SERVER["socket"] == "0.0.0.0:443" { ssl.engine = "enable" ssl.pemfile = "证书文件路径/www.domain.com.pem" server.document-root = "/var/www/html" } 所以，你看得到的，我启用https了^_^，纯折腾