标签: https

nginx:带有 www-authentication 的页面上的 HSTS

是否可以在 nginx 上发送 Strict-Transport-Security 标头,即使是在需要 WWW-Authentication 的页面上?

当我同时拥有auth_basicand 时add_header Strict-Transport-Security "max-age=2592000";,不会发送 HSTS 标头:

$ curl -Ik https://****************
HTTP/1.1 401 Unauthorized
Server: nginx/1.4.6 (Ubuntu)
Date: Sun, 14 Sep 2014 17:56:08 GMT
Content-Type: text/html
Content-Length: 203
Connection: keep-alive
WWW-Authenticate: Basic realm="*********"
Run Code Online (Sandbox Code Playgroud)

一个不同的页面,不需要身份验证的传送,所以add_header指令是有效果-只是没有当它需要验证。

nginx https

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

代理使用 https 删除自定义标头

问题 :

对于 HTTPS 请求,我的代理从响应中删除自定义标头:

HTTP请求:

$ curl -I -x 127.0.0.1:5566 http://www.google.fr
HTTP/1.1 200 OK
...
X-Servedby: 50001 => My custom header is added to the response
Run Code Online (Sandbox Code Playgroud)

完整回复:https : //gist.github.com/vdaubry/eafabf211957cbe87563

HTTPS 请求:

$ curl -I -x 127.0.0.1:5566 https://www.google.fr
HTTP/1.1 200 Connection established
Proxy-Agent: Privoxy/3.0.23
X-Servedby: 50001 => doesn't appear in the final response

HTTP/1.1 200 OK
Date: Sat, 07 Feb 2015 16:29:25 GMT
...
Vary: Accept-Encoding
Run Code Online (Sandbox Code Playgroud)

完整回复:https : //gist.github.com/vdaubry/2869d85b2e8affdc5a8c

我不明白为什么在连接打开时添加了自定义标头但不是最终响应?


更多信息:

我有对多个 Privoxy 实例的 HAProxy 负载平衡请求。HAProxy 正在将 privoxy …

proxy https haproxy privoxy

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

现代网络浏览器是否总是在 SNI 扩展标头中发送网络服务器的主机名?

当支持服务器名称指示 (SNI) 的 Web 浏览器连接到 HTTPS 站点时,它是否总是在 SNI 字段中发送主机名?

也就是说,Web 浏览器无法知道它所连接的 HTTPS 站点是否是主机名 IP 上托管的唯一 HTTPS 站点,或者该 IP 上是否存在启用了 SNI 的基于名称的 HTTPS 虚拟主机,正确的?

Web 代理应该能够检查未加密的 SNI 标头并根据主机名进行网站阻止,而不是像现在针对 HTTPS 站点那样仅根据 IP 地址进行阻止,对吗?

除了 Windows XP 上的 IE6/7 之外的所有主要浏览器似乎都支持 SNI。

谢谢。

proxy https sni

5
推荐指数
0
解决办法
226
查看次数

为什么 Chrome 会抱怨“过时的密码学”?

我在 IIS/Windows 2008R2 上托管一个带有通配符 ssl 证书的 ASP.NET 网站。虽然 Chrome 在我的网站上运行良好,并在 https 连接上显示绿色锁,但 https 详细信息提到了“过时的加密”:

铬 https 详细信息

我认为这是由于 SHA1 造成的,chrome 在同一窗口中也提到了这一点。

但是,根据 Digicert 的 SSL 证书检查器,应该使用 SHA256:

在此处输入图片说明

现在我不确定发生了什么以及如何解决这个问题。这篇博文似乎描述了此问题的解决方法,但该解决方法似乎很模糊(1. 步骤:安装 OpenSSL?),我无法想象这是在 Windows 2008 R2 上执行此操作的官方方法。

我应该如何继续摆脱 ssl 证书警告?

编辑:应用Grant 推荐的脚本后,我的 SSLabs 已从 C 改进为 A,Chrome 使用 TLS 1.2 而不是 1.0。但是,“过时的密码学”警告仍然存在。

iis ssl https ssl-certificate windows-server-2008-r2

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

我可以将通配符与 SAN 自签名证书一起使用吗?

我们有一个可通过 Internet 访问的开发服务器,但受 IP 限制,因此这里的安全性只是允许我们重现实时环境的一种方式,而不是试图确保安全。顶级域,我们称之为dev.com,未使用,但开发人员将每个站点设置在他们自己的特定子域中。所以我们可以说有site1.comsite2.com并且site3.com,然后开发商georgenico将有完整的URL,如:

  • www.site1.com.george.dev.com
  • www.site2.com.george.dev.com
  • www.site1.com.nico.dev.com
  • 等等

我最初认为通配符自签名证书可以,但后来发现*.dev.com仅适用于something.dev.com子域而不适用于子子域。我决定按照此答案中的说明进行操作。当我使用:

DNS.1 = www.site2.com.nico.dev.com
DNS.2 = www.site1.com.george.dev.com
Run Code Online (Sandbox Code Playgroud)

一切正常,但不幸的是,许多站点有很多开发人员,因此这里有超过 100 个条目DNS.x。我想知道是否可以在[ alternate_names ]我的openssl.cnf. 我尝试了以下方法:

DNS.1 = dev.com
DNS.2 = www.site1.com.george.dev.com
DNS.3 = *.*.*.nico.dev.com
Run Code Online (Sandbox Code Playgroud)

虽然DNS.2有效,DNS.3但没有,NET::ERR_CERT_COMMON_NAME_INVALID在 Chrome 中给我错误。

有没有办法做到这一点,还是我必须生成一个很长的DNS.x条目列表来涵盖所有站点?

我听说通过创建我自己的 CA 这将是可能的。我遵循了这个答案的重要说明。用我自己的CA完好我创建了一个证书DNS.1一样的通用名称和DNS.2DNS.3的,象这样的通配符:

DNS.1 = …
Run Code Online (Sandbox Code Playgroud)

https wildcard ssl-certificate

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

为什么 curl 到 https 不起作用

我可以毫无问题地执行以下操作:

curl -u "username:password" http://www.example.com/exportfile.xml
Run Code Online (Sandbox Code Playgroud)

但是如果我尝试对我们网站的 https 版本使用相同的命令,它就会失败

curl -u "username:password" https://www.example.com/exportfile.xml
Run Code Online (Sandbox Code Playgroud)

这是错误消息的样子:

About to connect() to www.example.com port 443 (#0)
Trying "some ip"... connected
Connected to www.example.com (some ip) port 443 (#0)
Initializing NSS with certpath: sql:/etc/pki/nssdb
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
NSS error -5938
Closing connection #0
SSL connect error
curl: (35) SSL connect error
Run Code Online (Sandbox Code Playgroud)

感谢所有帮助

https curl

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

如何使用lighttpd反向代理https?

我想使用 Lighttp 在端口 8443 上将(反向代理)请求转发到https://secure.mydomain.com(:443)到我的内部 (HTTPS-)WebServer。

Environment-Infos:
我的 WebServer 是一个在端口 8080 (HTTP) 和端口 8443 (HTTPS) 上运行的 Tomcat。
HTTP 和 HTTPs 在本地访问时效果很好(http://127.0.0.1:8080和/或https://127.0.0.1:8443

(端口 8080 + 端口 8443 不能通过 Internet 直接访问。)

对于HTTP,此配置有效:

$HTTP["host"] == "unsecure.mydomain.com" {
    proxy.server  = ( "" => ( (
            "host" => "127.0.0.1",
            "port" => 8080
    ) ) )
}
Run Code Online (Sandbox Code Playgroud)

问题:
反向代理HTTPS需要什么?

https reverse-proxy lighttpd forwarding

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

nginx 在两个不同的端口上接受 HTTP 和 HTTPS 请求

我有一个 nginx 服务器设置(两个配置文件),其中有两个 gunicorn Web 服务器设置和运行。一个 gunicorn 是生产,另一个是登台。

我希望 nginx 向 xyz.com 提供 http 请求以及向 xyz.com 提供 https 请求到生产 gunicorn 服务器 @ 127.0.0.1:8000。

我已经完成了这个:

server {
   listen 80;
   server_name xyz.com;
   return 301 https://$http_host$request_uri;
}

server {
   listen 443 ssl;
   server xyz.com;
   ..... <<< ssl stuff
  location /{
      .... proxy_stuff
      proxy_pass http://127.0.0.1:8000;
  }
}
Run Code Online (Sandbox Code Playgroud)

我还希望到 xyz.com:8080 的 http 流量和到 xyz.com:8080 的 https 流量到达临时服务器 @ 127.0.0.1:8081。我已经能够获得 https 流量到 xyz.com:8080 工作如下:

server {
   listen 8080 ssl;
   server_name xyz.com;
   ...... << ssl stuff
   location …
Run Code Online (Sandbox Code Playgroud)

nginx https

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

将 IIS 设置为 HTTPS 请求的转发代理

是否可以将 IIS 设置为 HTTPS 请求的转发代理?

我的用例是这样的:我在 IIS 机器上本地运行了一些进程,它能够进行 HTTP 调用,但不能进行 HTTPS 调用。我想设置 IIS,以便我可以向它发送 HTTP 请求(在本地主机上),然后 IIS 会将请求作为 HTTPS 请求转发到真实 URL(使用某种基于原始 URL 的映射)。

像这样:

myprogram on server1 <-> http <-> IIS on server1 <-> https <-> server2
Run Code Online (Sandbox Code Playgroud)

这可能吗?此链接(http://www.iis.net/learn/extensions/configuring-application-request-routing-(arr)/creating-a-forward-proxy-using-application-request-routing)说“请注意,ARR仅处理 HTTP 流量,不处理其他协议。ARR 不支持 HTTP CONNECT 动词,因此不支持转发 HTTPS 流量。” 但也许还有其他方法可以在 IIS 上实现这一点?

iis ssl proxy https

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

在 IIS 上的 SSL 证书中同时具有主机名和 FQDN

我一直在这里、technet 和 google 上搜索,但还没有找到我的问题的答案。

我有一个在 IIS 7 Server 2012 R2 上运行的网站。IIS 用作对我们的 Citrix 场的访问。使用 https 连接,我使用我们的 CA 服务器创建了一个 SSL 证书(证书适用于 Citrix.contoso.com(服务器的内部 FQDN))。但是,用户将尝试仅使用https://Citrix进行连接,这将生成证书错误。所以我的问题是:证书是否有可能同时适用于 Citrix 和 Citrix.contoso.com?如果是这样,我该如何设法做到这一点?

windows iis ssl certificate https

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