标签: https

如何防止从没有证书的域访问 https://?

我有这个设置

Server version: Apache/2.2.22 (Ubuntu)
OpenSSL 1.0.1c 10 May 2012
Run Code Online (Sandbox Code Playgroud)

一个 IP 连接多个域。因为example1.com我有一个签名的 SSL 证书,因此example1.com可以通过https://secure.example1.com

这也适用于example2.com(使用有效证书签名并通过 访问https://secure.example2.com

但是,example3.com没有绑定任何 SSL 证书,并且不应通过https(SSL 端口 443)访问。但是,当用户转到https://example3.com警告时会显示。在 Chrome 中它看起来像这样

您试图访问 example3.com,但实际上您访问了一个将自身标识为 secure.example1.com 的服务器。这可能是由服务器上的错误配置或更严重的事情引起的。您网络上的攻击者可能试图让您访问 example3.com 的虚假(并且可能有害)版本

如果你不理会警告,用户实际上会看到 secure.example1.com

VirtualHost 设置如下所示

<VirtualHost *:443>
        ServerName secure.example1.com
        DocumentRoot /var/www/blahblah
        SSLEngine on
        SSLCertificateFile /blahblah.crt
        SSLCertificateKeyFile /blahblah.key
        SSLCertificateChainFile /blahblah.pem
</VirtualHost>

<VirtualHost *:443>
        ServerName secure.example2.com
        DocumentRoot /var/www/blahblah
        SSLEngine on
        SSLCertificateFile /blahblah.crt
        SSLCertificateKeyFile /blahblah.key
        SSLCertificateChainFile /blahblah.pem …
Run Code Online (Sandbox Code Playgroud)

ssl https openssl apache-2.2

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

生成自签名证书的步骤,该证书在被信任后将适用于两个不同的 IP,而不会发出安全警告

我们有一个测试服务器,我正在尝试将其更改为 HTTPS/SSL,它同时具有内部 IP 和外部 IP。我们必须为此特定服务器使用自签名证书。过去有一次我用 Flash 对 RTMPS 进行了一些研发,所以我仍然有一个步骤列表来为内部 IP 创建一个自签名证书,并将它放在客户端的可信存储中机器。

话虽如此,我需要同时为内部和外部 IP 工作。当我尝试使用相同的步骤来生成和信任外部 IP 的证书时,服务器会不断尝试使用内部 IP 的证书,即使客户端使用外部 IP。这显然与它通过 HTTP 标头并获取默认站点的证书有关。因此,即使外部 IP 的证书是可信的,客户端计算机在浏览外部 IP 上的站点时也会不断生成安全警告。

完全抛开我之前关于如何在内部 IP 之外执行此操作的说明,如何同时为内部和外部 IP 处理此问题?如何为两个 IP 使用自签名证书,而不会在客户端浏览器中生成安全警告?

请注意,这不是重复的。 我知道有关于主题备用名称、通配符证书等的信息。但是:

  1. 其中大部分是针对 Apache 的;我正在使用 IIS 7。

  2. 其中大部分是针对 Linux 的;我正在使用 Windows。

  3. 它还倾向于处理域名,这似乎是通配符证书所必需的;我只使用IP。

  4. 在这一点上剩下的一些东西希望我在 IIS 或 Windows 中拥有并非普遍可用的选项。

  5. 可能剩下的几件事情让我有点不知所措,他们使用的步骤需要一些预先存在的知识,但这些知识并不存在。换句话说,他们跳过步骤,跳转到高级主题等。

假设服务器是 IIS 7 / Windows Server 2008 R2,并且客户端机器使用 Windows 7(有时是 Windows Embedded Standard)和不同版本的 IE,那么完成此操作的明确步骤列表是什么?客户端通过 IP 地址访问页面、Web 服务等,我一直在使用 OpenSSL(尽管我对其他选项持开放态度)。谢谢你。

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

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

Nginx HTTPS www 到非 www 重定向问题

我在使用 nginx 配置从 HTTPS www 重定向到 HTTPS non-www 时遇到了一些问题。我正在按照(删除“www”并使用 nginx 重定向到“https”)提供的说明进行操作。

现在有以下工作:

但这不会:

我最终得到了“欢迎使用 nginx!” 页。我没有任何其他 nginx 配置文件/sites-enabled。任何想法为什么会这样做?

我的配置文件在下面。

upstream redemfit {
    server unix:/srv/redemfit/run/gunicorn.sock fail_timeout=0;
}

server {
    listen         80;
    server_name    www.redemfit.com redemfit.com;
    rewrite        ^ https://redemfit.com$request_uri? permanent;
}

server {
    listen 443;
    ssl on;
    ssl_certificate /etc/ssl/private/redemfit-bundle.crt;
    ssl_certificate_key /etc/ssl/private/redemfit.key;
    ssl_protocols SSLv3 TLSv1;
    ssl_ciphers ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM;
    server_name www.redemfit.com
    rewrite ^ https://redemfit.com$request_uri? permanent;
}

server {
    listen   443;

    ssl on; …
Run Code Online (Sandbox Code Playgroud)

nginx https

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

nginx 将 http 重定向到 https 不起作用

我正在尝试从 http 重新路由到 https。例如,您访问 example.com,您将被自动重定向到https://example.com

我尝试使用这个:

server {
      listen         80;
      return 301 https://$host$request_uri;
} 
Run Code Online (Sandbox Code Playgroud)

还有这个:

server {
      listen         80;
      server_name    example.com;
      return         301 https://$server_name$request_uri;
}
Run Code Online (Sandbox Code Playgroud)

如此处所示:在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https?

但似乎两者都不适合我。我留在example.com。

有人有想法吗?

linux http nginx https redirect

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

缓慢的 SSL apache 服务器

我在使用 SSL 256 位证书的慢速 Apache 服务器上遇到问题

ab -n 500 https://example.com/
Time per request 29 ms

ab -n 500 http://example.com/
Time per request 10 ms
Run Code Online (Sandbox Code Playgroud)

在两个请求中发送 52 字节,测试是从同一数据中心的服务器完成的

配置文件

SSLEngine on
SSLProtocol All -SSLv2
SSLHonorCipherOrder On
SSLCipherSuite ALL:!ADH:!EXP:!LOW:!RC2:!3DES:!SEED:!RC4:+HIGH:+MEDIUM
Run Code Online (Sandbox Code Playgroud)

SSL 比普通 HTTP 请求慢 3 倍是否正常?

ssl https ab apache-2.2

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

在 SSL 通道上嗅探我服务器上的传出流量

我在我的 nginx 服务器 (centOS) 上运行的 php 应用程序上执行 CURL 命令。端点是一个 https 地址,因此传出流量当然是加密的。

我想查看使用tcpDump嗅探传出流量的实际发送到端点的网络数据包。但这样做的结果只是一堆加密数据。

有没有办法在加密之前查看这些数据包?

networking ssl https tcpdump curl

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

HSTS 标头会导致 CNAME 记录出现问题吗?

几年来,我在我的个人域上使用了 SSL:https : //juriansluiman.nl。现在我使用子域来访问我的 Google Apps:邮件、日历等。所有这些子域都是使用Google 推荐的 CNAME 方法配置。这在我开始使用 HTTPS 之前和之后都有效。

几个月前,我开始在我的域中添加 HSTS 标头。在那段时间里,我也开始注意到我无法再使用子域访问我的 Google 页面。

示例:http : //mail.juriansluiman.nlhttps://mail.juriansluiman.nl

我所有的浏览器都给我一个连接错误。像 web-sniffer.net 这样的工具向我返回消息“获取 URL 时出错”。有谁知道具体的问题可能是什么?

ssl https cname-record g-suite

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

在 Nginx 服务器上强制使用 SSL 时重定向循环

最近我一直在尝试使用 Nginx 重定向到 HTTPS,但是在我尝试在浏览器中访问我的网站后,我不断收到重定向循环。这是我的完整服务器块配置文件:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;
    listen 443 ssl;

    root /var/www;
    index index.php index.html index.htm home.html contact.html projects.html;

    # Make site accessible from http://localhost/
    server_name melone.co;
    return 301  https://$host$request_uri;
    ssl_certificate /path/to/ssl;
    ssl_certificate_key /path/to/ssl;


    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
        proxy_set_header        X-Forwarded-Proto $scheme;
    }
    error_page 404 /404.html;

        # redirect server error pages to the …
Run Code Online (Sandbox Code Playgroud)

ssl nginx https tls 301-redirect

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

VPC 中多个 ELB 上的通配符 SSL 证书

我对安装证书和 AWS 本身非常陌生。现在,在我当前的基础架构中,我有 3 个位于 VPC 中的 ELB。

我已经通过 Big Rock 从 COMODO 购买了通配符 ssl 证书。

我想要的是我的 ELB 和外部世界之间的所有通信都应该通过 HTTPS。

  1. 我怎样才能做到这一点?
  2. 我可以在所有三个 ELB 上安装一个通配符证书吗?
  3. 有没有更好的方法呢?
  4. 此外,由于它是我拥有的通配符证书,因此我无法将它用于 api.example.com 但不能用于 example.com 本身(根据我的理解)。但是,目前对外部世界可见的是example.com(而不是真正的api.example.com)那么我是否需要为上述场景购买另一个证书?
  5. 考虑到我还有 example.in 作为域以及托管同一站点的域,我应该使用哪种类型的证书(我在这里阅读了UCC SSL 证书)。

请原谅我对此事的无知。

ssl https ssl-certificate amazon-elb amazon-vpc

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

禁用/删除让我们加密?

我按照本教程在我的服务器上启用 Let's Encrypt,但是我现在想删除/禁用它:

https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-14-04

我怎样才能做到这一点?

ubuntu ssl https ubuntu-14.04 lets-encrypt

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