Configuration 轻-不需要的HST

Configuration 轻-不需要的HST,configuration,lighttpd,hsts,Configuration,Lighttpd,Hsts,我在我的开发机器上运行lighty已经有几年了,已经建立了一些vHost,其中一个是phpmyadmin,另一个在某些页面上使用带有自签名证书的SSL;多年来,它一直运转良好 但是现在,每次我尝试访问我的vhost时,浏览器都会显示一条错误消息,声称服务器配置不正确,并且使用HST(NET::ERR_CERT_AUTHORITY_INVALID)-但我从未设置过 http://(ip地址)//工作正常;就像http://(ip地址)/vhost路径//一样,我会一直使用它,直到我把lighty扔

我在我的开发机器上运行lighty已经有几年了,已经建立了一些vHost,其中一个是phpmyadmin,另一个在某些页面上使用带有自签名证书的SSL;多年来,它一直运转良好

但是现在,每次我尝试访问我的vhost时,浏览器都会显示一条错误消息,声称服务器配置不正确,并且使用HST(NET::ERR_CERT_AUTHORITY_INVALID)-但我从未设置过

http://(ip地址)//
工作正常;就像http://(ip地址)/vhost路径//一样,我会一直使用它,直到我把lighty扔进垃圾箱并安装nginx;但是重定向会在测试中的某个时候使其无法使用

我认为Windows客户端上的AV软件可能会导致问题;但它也显示在Debian开发机器本身上

关于这是如何发生的,以及如何解决这个问题,有什么想法吗


细节:
  • Ubuntu 16.04.4 LTS\n\l
  • lighttpd/1.4.35(ssl)
  • OpenSSL 1.0.2j
启用的
/etc/conf/lighttpd/conf的内容

05-auth.conf
10-fastcgi.conf
10-ssl.conf
50-phpmyadmin.conf
10-cgi.conf
10-simple-vhost.conf
15-fastcgi-php.conf
90-javascript-alias.conf
就我所记得的,只有
10ssl.conf
包含的内容多于默认内容;而且它们都已经多年没有被修改过了

lighttpd.conf
(两年前的mtime)包含:

server.modules = (
        "mod_access",
        "mod_accesslog",
        "mod_alias",
        "mod_compress",
        "mod_redirect",
)

... (general server setup) ...

include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"

... (vhost configuration) ...

/etc/conf/lighttpd/ssl/
包含我使用https的vhost的ssl证书(有效期至2023年)。Chrome拥有.dev TLD,并决定将其预加载到浏览器中烘焙的静态HSTS列表中。Firefox最近紧随其后。有关更多信息,请参阅此链接:

这意味着您无法打开HST

你的选择是:

  • 使用不同的域(例如测试)
  • 创建自签名证书并将测试站点切换到HTTPS
  • 请注意,由于HSTS将不允许您点击证书错误,因此您还需要将证书(或问题)添加到信任存储中

    我强烈认为应该在HTTPS网站上进行开发。这与产品相匹配,因此在上线时避免了混合内容的问题,同样也避免了某些新功能(HTTP/2、Brotli压缩、服务工作者)的问题

    帮自己一个忙,只需创建一个自签名证书,将其添加到您的信任存储,然后转到HTTPS进行开发。还要注意的是,Chrome需要证书才能包含SAN字段,这需要花费更多的精力,但可以在linux上完成(替换server.domain.tld的两个实例):


    你正在使用以.dev结尾的域吗?@BarryPollard绝对是的!我现在需要注册TLD吗?
    openssl req \
        -newkey rsa:2048 \
        -x509 \
        -nodes \
        -keyout server.key \
        -new \
        -out server.crt \
        -subj /CN=server.domain.tld\
        -reqexts SAN \
        -extensions SAN \
        -config <(cat /etc/pki/tls/openssl.cnf\<(printf '[SAN]\nsubjectAltName=DNS:server.domain.tld')) \
        -sha256 \
        -days 3650
    
    cat /System/Library/OpenSSL/openssl.cnf > /tmp/openssl.cnf
    echo '[SAN]\nsubjectAltName=DNS:server.domain.tl'>> /tmp/openssl.cnf
    openssl req \
        -newkey rsa:2048 \
        -x509 \
        -nodes \
        -keyout server.key \
        -new \-out server.crt \
        -subj /CN=server.domain.tl\
        -reqexts SAN \
        -extensions SAN \
        -config /tmp/openssl.cnf\
        -sha256 \
        -days 3650