标签: https

即使设置为忽略,IIS 仍请求证书

我在 IIS 6 中有一个网站,其目录安全性设置为“需要安全通道 (SSL)”“需要 128 位加密”。此外,客户端证书设置设置为“忽略客户端证书”。

当我在 Internet Explorer 和 Chrome 中点击https://servername/resource时,系统会提示我输入证书。我可以取消提示,资源就会加载,但我根本不想看到这个提示。我查看了网站内的虚拟目录和资源,它们都启用了忽略客户端证书设置。是否可能存在另一个设置(也许在元数据库中)覆盖网站的目录安全设置?

iis ssl https ssl-certificate

5
推荐指数
1
解决办法
4635
查看次数

在 Windows 7 上使用 powershell 将自签名证书添加到受信任的证书列表中

我在 Windows 7 上创建了一个自签名证书,并使用该证书部署了一个网站,只是为了尝试一下。

当我配置 HTTPS 端点并使用 HTTPS 协议访问站点时,我收到了预期的“不是受信任的证书”错误。

然后我尝试使用以下 PowerShell 代码使该证书成为我的计算机上的可信证书:

$cert = (get-item cert:\CurrentUser\MY\1D5B3DEF207B70C7426953315A8C06EB38E50FAA)
$store = get-item cert:\LocalMachine\Root
$store.Open("ReadWrite")
$store.Add($cert)
$store.Close()
Run Code Online (Sandbox Code Playgroud)

它不起作用,我仍然遇到同样的错误。然后,我从受信任的证书列表中删除它并再次尝试使用以下代码:

$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("c:\certs\foo2.foo.cc.cer")
$store = get-item cert:\LocalMachine\Root
$store.Open("ReadWrite")
$store.Add($cert)
$store.Close()
Run Code Online (Sandbox Code Playgroud)

那也没用。我缺少什么?

powershell certificate windows-7 https ssl-certificate

5
推荐指数
1
解决办法
4196
查看次数

HSTS 使用“includeSubdomains”排除特定子域

我在我的网站上使用带有此标头的 HSTS:

 Strict-Transport-Security: max-age=15768000; includeSubDomains
Run Code Online (Sandbox Code Playgroud)

这按预期工作并强制浏览器将所有 http 连接重定向到 https。

在https://www.rfc-editor.org/rfc/rfc6797#section-6.1.2的文档中,我没有找到排除指定子域的方法!

我已经尝试添加max-age=0子域,但它不会覆盖includeSubDomains

是否可以从includeSubDomains规则中排除子域?或者是删除此规则并仅对某些网站使用 HSTS 标头的唯一方法?PS:我的网络服务器是 NGINX,我使用 Firefox 和 Chrome 测试了该行为。

nginx https http-headers

5
推荐指数
1
解决办法
5086
查看次数

如何通过squid透明转发HTTPS流量?

我想将所有 HTTP 和 HTTPS 流量重定向为squid充当透明代理。然后,该流量将在特定时间内被阻止或授权(批量)。具体来说,我不想解密/重新加密 HTTPS 流量,而是按原样推送。

HTTP 部分起作用,REDIRECT规则将shorewall所有打算发送到目标端口的流量传输80到模式下的侦听3128鱿鱼端口transparent

同样的技巧对于端口443不起作用。

有关于如何为 HTTPS 流量设置透明代理的教程,但我发现的所有教程都描述了创建证书对来解密/重新加密流量 - 这是我不想做的事情。

鱿鱼维基提到 CONNECT 作为隧道 HTTPS 流量的一种方式,但添加http_access allow CONNECT all到配置(并禁用默认值deny)不会改变任何东西。

然后,之前的 一些答案表明,在不破坏 TLS 隧道的情况下,透明的 HTTPS 流量是不可能的。

因此:是否有一种方法可以配置,squid以便通过重新路由到它的 HTTPS 流量iptables然后透明地传输,而不需要任何修改?

(当满足某些时间规则时,我最终会阻止(这就是说,该阻止不会基于 HTTPS 流本身内的任何内容))

https squid transparent-proxy

5
推荐指数
1
解决办法
2万
查看次数

尝试将 nginx 中的 HTTP 重定向到 HTTPS 作为 jenkins 的反向代理时,服务器的回复为空

我\xe2\x80\x99m 在 Nginx 后面运行 Jenkins,并使用 Let\xe2\x80\x99s 加密 SSL 证书。如果我通过访问该网站https://jenkins.mydomain.de/,一切正常。但是当我通过 访问它时http://jenkins.mydomain.de/,Firefox 说 \xe2\x80\x9cConnection was Reset.\xe2\x80\x9d 并且curl 说 \xe2\x80\x9c来自服务器的空回复\xe2\x80\x9d

\n\n

我该如何调试这个?我真的不知道在哪里寻找问题。nginx 日志 don\xe2\x80\x99t 包含任何有关它的信息。我怀疑下面配置中有关端口 80 的部分因其他指令而无效,但我不\xe2\x80\x99 不知道如何调查它。

\n\n
$ curl -svL http://jenkins.mydomain.de/\n* Hostname was NOT found in DNS cache\n*   Trying my.ip.add.ress...\n* Connected to jenkins.mydomain.de (my.ip.add.ress) port 80 (#0)\n> GET / HTTP/1.1\n> User-Agent: curl/7.38.0\n> Host: jenkins.mydomain.de\n> Accept: */*\n> \n* Empty reply from server\n* Connection #0 to host jenkins.mydomain.de left intact\n
Run Code Online (Sandbox Code Playgroud)\n\n

当使用 telnet 与服务器通信时,只要我按一次 return (即之后GET / HTTP/1.1 …

http nginx https redirect jenkins

5
推荐指数
1
解决办法
3134
查看次数

如何调试服务器响应时间慢?

使用此处描述的方法来测量服务器响应时间,我可以看到time_appconnecttime_pretransfer、 和time_starttransfer非常高,但仅限于通过 HTTPS 访问网站时。

相比之下,连接到 Google 的速度非常快。

curl -w "@curl-format.txt" -o /dev/null -s "https://www.google.com"
Run Code Online (Sandbox Code Playgroud)

回报

time_namelookup:     0.014433
time_connect:        0.117187
time_appconnect:     0.374567
time_pretransfer:    0.374779
time_redirect:       0.000000
time_starttransfer:  0.513398
                     ----------
        time_total:  0.514880
Run Code Online (Sandbox Code Playgroud)

通过 HTTP 连接到我们的网站也相当快:

curl -w "@curl-format.txt" -o /dev/null -s "http://environmentaldashboard.org"
Run Code Online (Sandbox Code Playgroud)

回报

time_namelookup:    0.004136
time_connect:       0.044469
time_appconnect:    0.000000
time_pretransfer:   0.044554
time_redirect:      0.000000
time_starttransfer: 0.166275
                  ----------
      time_total:  0.166404
Run Code Online (Sandbox Code Playgroud)

但是通过 HTTPS 连接非常慢:

curl -w "@curl-format.txt" -o /dev/null -s "https://environmentaldashboard.org"
Run Code Online (Sandbox Code Playgroud)

回报

time_namelookup:    0.005211
time_connect:       0.057697 …
Run Code Online (Sandbox Code Playgroud)

networking performance https response-time

5
推荐指数
1
解决办法
6003
查看次数

Nginx 代理/上游重定向使用错误的端口和协议

我使用 NGINX 服务器作为其他一些 NGINX 服务器的 ssl 代理。不幸的是,如果请求被上游服务器重定向,则位置字段包含错误的目标端口。

curl -v "https://example.com/site":

> GET /site HTTP/2
> Host: example.com
> User-Agent: curl/7.58.0
> Accept: */*
> 
* Connection state changed (MAX_CONCURRENT_STREAMS updated)!
< HTTP/2 301 
< server: nginx
< date: Sun, 18 Mar 2018 20:01:44 GMT
< content-type: text/html
< content-length: 178
< location: http://example.com:9101/site/
< strict-transport-security: max-age=15768000; includeSubDomains
Run Code Online (Sandbox Code Playgroud)

NGINX 代理:

# Proxy: example.com
####################

server {
  listen 0.0.0.0:80;
  listen [::]:80;
  server_name example.com;
  root /srv/www/_empty;
  location / { return 301 https://example.com$request_uri; …
Run Code Online (Sandbox Code Playgroud)

rewrite nginx proxy https

5
推荐指数
1
解决办法
7722
查看次数

如何在 lighttpd 上禁用未加密的流量(端口 80)

我们想运行一个仅限 SSL 的 lighttpd 进程。应该使用哪个配置选项来关闭端口 80 及其未加密的流量?

Lighttpd 文档仅提供对 https 流量的“重定向”,但我们希望在端口 80 上完全静音。我们希望 lighttpd 仅在 443 上侦听加密(https)流量。

更新【解决方案】

设置“ server.port = 443”没有帮助。SSL 配置是:

$SERVER["socket"] == "0.0.0.0:443" {
                  ssl.engine                  = "enable"
                  ssl.pemfile                 = "/etc/cert.pem"
}
Run Code Online (Sandbox Code Playgroud)

那给出了错误。

can't bind to port: 0.0.0.0 443 Address already in use
Run Code Online (Sandbox Code Playgroud)

删除条件 SSL 完全解决了问题,配置变为:

server.port                 = 443
ssl.engine                  = "enable"
ssl.pemfile                 = "myweb.pem"
Run Code Online (Sandbox Code Playgroud)

ssl http https lighttpd

4
推荐指数
1
解决办法
1万
查看次数

如何将 SSL/TLS 连接限制为至少 128 位加密?

当我为我的公共 Web 服务器订购 SSL 证书时,我如何确定 Web 服务器(在我的情况下为 IIS 6)将只允许 SSL/TLS 客户端连接支持我们至少 128 位对称加密的公司标准.

我知道您可以购买支持 128 位的 SSL 证书,但在握手期间,客户端可能会选择将连接降级到 SSLv2 并使用 40 位加密运行。

如何强制客户端必须运行 128 位或更好?

iis ssl encryption https tls

4
推荐指数
1
解决办法
1万
查看次数

鱿鱼和 https 网址

我已经安装squid了一个带有--enable-ssl配置的非透明代理/缓存服务器。它是父代理服务器的子代proxy1.ut.ac.ir

HTTPURL一切正常,但任何HTTPSURL 都由 a 响应404 Server not found(例如Gmailhttps://www.google.com)。

这是access.log打开www.gmail.com的条目:

1279493581.278    544 127.0.0.1 TCP_MISS/302 1136 GET http://mail.google.com/mail/ - DEFAULT_PARENT/proxy1.iut.ac.ir text/html
1279493581.283      0 127.0.0.1 TCP_MISS/404 0 CONNECT www.google.com:443 - DIRECT/- -
Run Code Online (Sandbox Code Playgroud)

终端中的鱿鱼说:

2010/07/18 18:52:27| ipcacheParse: No Address records in response to 'www.google.com'
Run Code Online (Sandbox Code Playgroud)

这是squid.conf

http_port 3128

http_access allow all

cache_peer proxy1.ut.ac.ir parent 3128 0 no-query default no-digest no-netdb-exchange

cache_dir ufs /usr/local/squid/var/cache 100 …
Run Code Online (Sandbox Code Playgroud)

proxy https squid

4
推荐指数
1
解决办法
2万
查看次数