首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >lighty不需要的HSTS

lighty不需要的HSTS
EN

Stack Overflow用户
提问于 2018-05-08 16:24:58
回答 1查看 166关注 0票数 0

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

但是现在,每当我尝试访问我的任何一个vhost时,浏览器都会向我显示一条错误消息,声称服务器没有正确配置并使用hsts (NET::ERR_CERT_AUTHORITY_INVALID) --但我从未设置它!

http://(ip-address)/工作正常,http://(ip-address)/vhost-path/也一样,我会使用它,直到我将with扔进bin并安装nginx;但是重定向会在测试的某个时候使它无法使用。

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

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

详细信息:

  • Ubuntu 16.04.4 LTS \n \l
  • lighttpd/1.4.35 (ssl)
  • OpenSSL 1.0.2j

/etc/conf/lighttpd/conf-enabled含量

代码语言:javascript
复制
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

据我所知,只有10-ssl.conf包含的内容比默认内容还多,而且这些内容都已经多年没有修改过了。

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

代码语言:javascript
复制
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/包含我在其上使用的一个vhost的SSL证书(有效期到2023年的某个地方)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-17 16:17:26

Chrome拥有.dev TLD,并决定将其预加载到浏览器中的静态HSTS列表中。Firefox最近跟进了套件。有关更多信息,请参见此链接:https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/

这意味着你不能转向HSTS。

你的选择是:

  1. 使用不同的域(例如.test)
  2. 创建一个自签名证书,并将测试站点切换到HTTPS。

注意,由于HSTS不允许您通过证书错误单击,所以还需要将证书(或问题)添加到信任存储区。

我强烈认为应该在HTTPS站点上进行开发。这与生产相匹配,因此避免了在运行时出现混合内容的问题,某些功能强大的特性不能在HTTP站点上工作,以及类似于某些新特性(HTTP/2、Brotli压缩、服务工作人员)。

帮自己一个忙,只需创建一个自签名证书,将其添加到您的信任商店,然后转移到HTTPS进行开发。还请注意,Chrome需要证书才能拥有SAN字段,这需要付出更多的努力,但可以在linux上完成(替换server.domain.tld的两个实例):

代码语言:javascript
复制
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

或者在不能使用onliner的MacOS上:

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50238235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档