我有这个设置
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) 我们有一个测试服务器,我正在尝试将其更改为 HTTPS/SSL,它同时具有内部 IP 和外部 IP。我们必须为此特定服务器使用自签名证书。过去有一次我用 Flash 对 RTMPS 进行了一些研发,所以我仍然有一个步骤列表来为内部 IP 创建一个自签名证书,并将它放在客户端的可信存储中机器。
话虽如此,我需要同时为内部和外部 IP 工作。当我尝试使用相同的步骤来生成和信任外部 IP 的证书时,服务器会不断尝试使用内部 IP 的证书,即使客户端使用外部 IP。这显然与它通过 HTTP 标头并获取默认站点的证书有关。因此,即使外部 IP 的证书是可信的,客户端计算机在浏览外部 IP 上的站点时也会不断生成安全警告。
完全抛开我之前关于如何在内部 IP 之外执行此操作的说明,如何同时为内部和外部 IP 处理此问题?如何为两个 IP 使用自签名证书,而不会在客户端浏览器中生成安全警告?
请注意,这不是重复的。 我知道有关于主题备用名称、通配符证书等的信息。但是:
其中大部分是针对 Apache 的;我正在使用 IIS 7。
其中大部分是针对 Linux 的;我正在使用 Windows。
它还倾向于处理域名,这似乎是通配符证书所必需的;我只使用IP。
在这一点上剩下的一些东西希望我在 IIS 或 Windows 中拥有并非普遍可用的选项。
可能剩下的几件事情让我有点不知所措,他们使用的步骤需要一些预先存在的知识,但这些知识并不存在。换句话说,他们跳过步骤,跳转到高级主题等。
假设服务器是 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
我在使用 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) 我正在尝试从 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。
有人有想法吗?
我在使用 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 倍是否正常?
我在我的 nginx 服务器 (centOS) 上运行的 php 应用程序上执行 CURL 命令。端点是一个 https 地址,因此传出流量当然是加密的。
我想查看使用tcpDump嗅探传出流量的实际发送到端点的网络数据包。但这样做的结果只是一堆加密数据。
有没有办法在加密之前查看这些数据包?
几年来,我在我的个人域上使用了 SSL:https : //juriansluiman.nl。现在我使用子域来访问我的 Google Apps:邮件、日历等。所有这些子域都是使用Google 推荐的 CNAME 方法配置的。这在我开始使用 HTTPS 之前和之后都有效。
几个月前,我开始在我的域中添加 HSTS 标头。在那段时间里,我也开始注意到我无法再使用子域访问我的 Google 页面。
示例:http : //mail.juriansluiman.nl或https://mail.juriansluiman.nl
我所有的浏览器都给我一个连接错误。像 web-sniffer.net 这样的工具向我返回消息“获取 URL 时出错”。有谁知道具体的问题可能是什么?
最近我一直在尝试使用 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) 我对安装证书和 AWS 本身非常陌生。现在,在我当前的基础架构中,我有 3 个位于 VPC 中的 ELB。
我已经通过 Big Rock 从 COMODO 购买了通配符 ssl 证书。
我想要的是我的 ELB 和外部世界之间的所有通信都应该通过 HTTPS。
请原谅我对此事的无知。
我按照本教程在我的服务器上启用 Let's Encrypt,但是我现在想删除/禁用它:
我怎样才能做到这一点?
https ×10
ssl ×7
nginx ×3
apache-2.2 ×2
301-redirect ×1
ab ×1
amazon-elb ×1
amazon-vpc ×1
certificate ×1
cname-record ×1
curl ×1
g-suite ×1
http ×1
iis-7 ×1
lets-encrypt ×1
linux ×1
networking ×1
openssl ×1
redirect ×1
tcpdump ×1
tls ×1
ubuntu ×1
ubuntu-14.04 ×1