我使用 openDNS 服务器:208.67.222.123 / 208.67.220.123 作为我的 PC 的 DNS 提供商。
当我访问不适当的 http://(成人内容)时,我被重定向到 https:// open dns 站点。
我只是想知道 DNS 服务器如何从 HTTP 内容重定向到 HTTPS 内容?
(最终如何禁用它?)
尽管在我的配置文件中启用了最新的 nginx 和 OpenSSL,但它不会在我的服务器上产生 TLS1.3(www.baldeonline.com 供参考)。此外,我的 nginx 实例是在安装了 OpenSSL 1.1.1-pre9 的情况下编译的。
$ nginx -V 返回:
nginx version: nginx/1.15.2
built by gcc 6.3.0 20170516 (Debian 6.3.0-18+deb9u1)
built with OpenSSL 1.1.1-pre9 (beta) 21 Aug 2018
Run Code Online (Sandbox Code Playgroud)
到目前为止,我看到的大多数教程都包括 CloudFlare,所以我怀疑它在这种情况下可以作为服务器和 CloudFlare 之间的 TLS1.2 以及 CloudFlare 和客户端之间的 TLS1.3 工作,尽管我没有任何具体的建议。
编辑
正如帕特里克提到的,运行命令:
$ openssl s_client -connect www.baldeonline.com:443
显示已启用 TLS1.3。TLS1.3 应在浏览器更新以完全支持最终 TLS1.3(2018 年 8 月 15 日)标准时与浏览器一起使用,而不仅仅是标准草案。
对于那些有兴趣的人:
https://wiki.openssl.org/index.php/TLS1.3#Current_status_of_the_TLSv1.3_standard
尽管最新的 1.1.1 版本支持最终标准版本,但其他支持 TLSv1.3 的应用程序可能仍在使用较旧的草稿版本。这是互操作性问题的常见来源。如果支持不同 TLSv1.3 草案版本的两个对等点尝试通信,则它们将回退到 TLSv1.2。
TLDR:如果您希望 TLS1.3现在与草案 28 一起使用,请使用 OpenSSL 1.1.1-pre8 https://fearby.com/article/enabling-tls-1-3-ssl-on-a-nginx-website-on -an-ubuntu-16-04-server-that-is-using-cloudflare/ …
开始在 AWS 中设置负载均衡器时,我遇到了一些其他问题。
基本上我有一个网站/应用程序部署在 EC2 实例中。我想通过证书管理器使用 AWS 生成的证书来确保其安全。据我所知,EC2本身无法管理此功能,实现此功能的一种简单方法是在 EC2 前面部署一个负载均衡器,以保护客户端与我的 ACM 证书的通信。
也许很容易,但不适合我......
问题 1:由于我不想部署多个 EC2 实例,因此我需要部署“经典负载均衡器”而不是“应用程序负载均衡器”(因为后者需要至少 2 个 EC2 实例)。它是否正确?
问题 2:我希望网站的访问者在他们的浏览器中看到“安全”指示。我认为这意味着我需要一直使用 HTTPS客户端 <-> 负载均衡器 <-> EC2,并且无法终止 LB 中的 SSL/HTTPS。这是一个正确的假设吗?
问题 3:如果前面的假设正确,我是否应该使用另一个证书来进行负载均衡器和 EC2 之间的 HTTPS 通信?Afaiu 我在 ACM 里的那个不能用。正确的方法是在 ACM 中生成一个新的私有证书来用于此目的吗?
问题 4:如果是这样,私有证书是否仍会给最终用户带来完全签名证书的好处,还是会被视为自签名证书(我不想要)?
问题 5:也许完全错误(并表明我对证书了解多少;-),但由于我在 ec2 实例上已经有另一个 ssh 证书(来自我的 IAM 用户,我用它来 ssh 到 ec2 实例),可以这个可以在负载均衡器 <-> EC2 步骤中使用吗?
好吧,这就是我的想法,至少现在是这样……谢谢!
更新感谢 有用的答案,我得到了这个工作,结果比我在编写原始问题时想象的要容易。我刚刚使用我的 ACM 证书启动了带有 http 和 https 侦听器的“应用程序负载均衡器”,保留所有默认选项。将外部 DNS 中的 CNAME 条目添加到负载均衡器的 DNS 名称中,SSL …
https load-balancing ssl-certificate amazon-ec2 amazon-web-services
我创建了一个带有“LAMP 18.04”预设的 DigitalOcean Droplet 并进行了所有更新。配置新的虚拟主机并使用 certbot 配置 HTTPS。到目前为止一切都工作正常。然后我尝试启用 HTTP2:
a2enmod http2Protocols h2 http/1.1HTTPS虚拟主机但是,浏览器在连接到站点时仍然使用 HTTP/1.1(禁用缓存)。运行时curl --http2 -v https://example.com(域混淆)将打印以下内容:
* Connected to example.com (1.1.1.1) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
...
* SSL connection using TLSv1.2 / ECDHE-RSA-CHACHA20-POLY1305
* ALPN, server accepted to use http/1.1
... And in headers:
< Upgrade: h2
< Connection: Upgrade
Run Code Online (Sandbox Code Playgroud)
此外,https://tools.keycdn.com/http2-test显示以下内容:
我的问题是 - 为什么选择 http/1.1?另外,为什么该工具认为 HTTP2/ALPN 已禁用?这是完整的 VHost 配置:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName …Run Code Online (Sandbox Code Playgroud) 像这样在相同的情况下定义两者listen(80和 443)是否正确?server {}
另一种方法是server{}为每个端口定义两个单独的端口,我知道这是可以的。
server {
listen 80 default_server;
server_name example.com;
root /usr/share/nginx/html;
location / {
}
listen example.com:443 ssl; # <<< !!!
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
Run Code Online (Sandbox Code Playgroud) 正如我在服务器故障上列出的那样,我的网络托管商支持声明如下:
我只是想知道,因此想验证一下,ISP 如何、通过哪种技术可以允许在世界某些地区加载网站,而在其他地区浏览器/客户端会收到 403 错误。
如果你想自己尝试一下:
为什么安全 HTTP 连接 (https) 比典型的 HTTP (http) 慢?
只是有兴趣知道而已。
谢谢。
我想将我们的外联网(目前可通过 http 使用)转换为使用 https。服务器只能通过它的IP地址访问,没有域名。
我正在寻找一个免费的解决方案来使用 apache2 来实现这一点。
根据这个问题的答案,我想使用 SSL 保护我的网站。现在证书有好几种,不知道选哪一种。
我的应用程序不包含任何金融交易或类似内容,我只是想让登录过程安全。因此,我很想选择我能得到的最便宜的证书,但我绝对不想要的是用户得到某种浏览器警告,关于证书不安全/未知/无论他必须点击“信任”或“继续”以访问我的网站。
那么,在满足上述最低要求的情况下,我可以获得的最简单的证书是什么?查看托管服务提供商,我看到了类似的功能
提前致谢,您的回答总是有很大帮助!
我在考虑 https,我想知道。保护了多少?整个请求是否加密?我怀疑这不是因为服务器如何知道要连接到哪个域?只有身体加密吗?如果我请求http://joes-site.com/abc/file.ext,人们可以看到我请求的文件吗?
我假设帖子数据是用 https 加密的,是 cookie 吗?究竟什么没有加密?
https ×10
ssl ×6
http ×2
nginx ×2
security ×2
alpn ×1
amazon-ec2 ×1
apache-2.2 ×1
apache-2.4 ×1
encryption ×1
httpd.conf ×1
isp ×1
openssl ×1
web-hosting ×1
web-server ×1