我已向 *.iphone.apple.com 颁发了证书。它有 *.ipod.apple.com 作为 SAN。
这可以用于 gen5.touch.ipod.apple.com 还是应该将 *.touch.ipod.apple.com 作为 SAN 添加到 *.iphone.apple.com?
我们的 PCI 合规性供应商要求我们在 Web 服务器上禁用除 RC4 加密之外的所有加密。目前我们的 apache 配置文件如下所示:
SSLHonorCipherOrder On
SSLCipherSuite RC4-SHA:HIGH:!ADH:!AES256-SHA:!ECDHE-RSA-AES256-SHA384:!AES128-SHA:!DES-CBC:!aNull:!eNull:!LOW:!SSLv2
Run Code Online (Sandbox Code Playgroud)
但是,https://www.ssllabs.com报告允许使用以下密码:
如何配置 apache 只允许 RC4?
假设我想购买一个可用于跨多个不同服务器和平台的 Web 服务器的通配符 SSL。
我可以为每个服务器发出一个 CSR,使用它们自己的私钥-公钥对,但是是否可以将私钥分发到所有不同的服务器并使用相同的证书?这样,只需发布 1 个 CSR,然后将其部署到混合平台。或者,不同平台颁发的证书是否不同?
目前的农场是以下农场的混合体:
Windows 2008 R2 和 IIS Linux 和 Tomcat(运行 JIRA 和 Confluence) Clavister 防火墙(不过我想我没有得到答案)
我有 Nginx 作为 Web 服务器的代理运行,并且我想使用 TLS/SSL 客户端证书来保护访问。
这是我的 ssl 配置
server {
listen 443 ssl;
server_name www.domain.com;
ssl_certificate /etc/nginx/ssl/domain/server.crt;
ssl_certificate_key /etc/nginx/ssl/domain/server.key;
ssl_client_certificate /etc/nginx/ssl/clients/client_ca.pem
ssl_verify_client on;
Run Code Online (Sandbox Code Playgroud)
它工作得很好 - 但现在我需要允许在没有客户端证书的情况下从一个特定的 IP 地址访问我的网站。
有没有可能用 nginx 来做到这一点?
谢谢 :-)
首先,我对 nginx 有点陌生,有点迷失\xe2\x80\xa6 遗憾的是我没有找到任何解决方案,所以这是我的问题。如果它与已经存在的问题重复,我深表歉意,并且我会很高兴看到答案。
\n\n我正在构建我的第一个 nginx 服务器,我有两个域名,其中一个有很多子域,我希望对所有这些域名进行 SSL 重定向。问题是它只能在 IPv6 监听上工作一次(这里是默认配置),如果我将相同的配置放在其他子域上,nginx 就不会启动(每个子域都有自己的服务器配置文件,有自己的 80 \xe2 \x86\x92 443 服务器重定向)。
\n\nserver {\nlisten 443;\nlisten [::]:443;\n\n## All the config and stuff\n\n}\n\nserver {\nlisten 80 default_server;\nlisten [::]:80 default_server ipv6only=on;\nserver_name www.mydomainna.me mydomainna.me;\nrewrite ^ https://$server_name$request_uri? permanent;\n}\nRun Code Online (Sandbox Code Playgroud)\n\n这是默认的配置文件,它的作用就像一个魅力。
\n\n然而,让我烦恼的是,在这个完全相同的配置(减去 default_server)上,对于每个子域和我的第二个域名,我必须删除 IPv6 或 nginx 不想启动。
\n\nserver {\nlisten 443;\nlisten [::]:443;\n\n## All the config and stuff\n\n}\n\nserver {\nlisten 80;\nserver_name subdomain.mydomainna.me;\nrewrite ^ https://$server_name$request_uri? permanent;\n}\nRun Code Online (Sandbox Code Playgroud)\n\n所以我的问题是:我怎样才能告诉我在 IPv6 上监听所有其他配置文件?
\n\n如果我没有以适当的方式解释我的问题,我很抱歉,如果你们中有人有解决方案,谢谢。
\n我已经为我的域结构购买了通配符证书和单个证书,即:
app.example.com => single
*.app.example.com => wildcard
Run Code Online (Sandbox Code Playgroud)
这两个路由应该指向同一服务器上的同一项目目录
注意:RapidSSL 支持说我必须购买两个,与经典域 example.com 不同,我的一个是 app.example.com,这样通配符就不会关心我的 3 位小数根
现在,我需要在 nginx 中设置两个不同的证书。我的默认值(适用于我的通配符),但不是“app.example.com”,因为不包括其 ssl 证书。
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl on;
ssl_certificate /etc/ssl/ssl_certificate.cer; // this is my wildcard cert
ssl_certificate_key /etc/ssl/private.key;
root /var/www/example/public;
index index.php index.html index.htm;
server_name .app.example.com;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
// And …Run Code Online (Sandbox Code Playgroud) 我们希望对以下域使用 SAN SSL 证书:
为此证书创建 CSR 时,我是否必须在“主题备用名称”部分中输入所有这些主机名(公用名旁边)?是必须的吗?或者我可以将它们留空并只填写通用名称吗?
这些 SAN 条目最终如何进入 SSL 证书?这是通过 CSR(如果已提供)还是证书提供商可以在生成过程中添加它们,因此 CSR 中不需要 SAN?
查看 CentOS 7 服务器上 SSL 协议可能被覆盖的最佳方式是什么?Apache 2.4.6(意识到这也很旧,所以我必须在下班时间更新它,看看它是否解决了问题)。
我正在尝试在我的配置根目录 (/etc/httpd/conf/httpd.conf) 中使用此 Apache 指令禁用 TLSv1
SSLProtocol -all +TLSv1.1 +TLSv1.2
Run Code Online (Sandbox Code Playgroud)
然而,当我运行任一nmap --script ssl-enum-ciphers -p 443 <mysite.com>它显示 TLSv1 仍然启用:
ssl-enum-ciphers:
| TLSv1.0:
| ciphers:
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
| TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A
| compressors:
| NULL
| cipher preference: server
Run Code Online (Sandbox Code Playgroud)
SSL实验室测试也揭示了同样的情况。
SSLProtocol虚拟主机中没有提供其他指令。
之后,我决定使用此命令搜索所有配置文件sudo grep -rnw '/etc/httpd' -e 'SSLProtocol',它显示了以下位置:
/etc/httpd/conf/httpd.conf:359:SSLProtocol -all +TLSv1.1 +TLSv1.2
/etc/httpd/conf.d/ssl.conf:74:SSLProtocol ALL -SSLv2 -SSLv3
/etc/httpd/conf.d/ssl.conf:227:SSLProtocol ALL -SSLv2 -SSLv3
/etc/httpd/conf.d/ssl.conf:257:SSLProtocol ALL -SSLv2 -SSLv3 …Run Code Online (Sandbox Code Playgroud) 我试过搜索这个,我找到了接近的东西,但到目前为止我还没有找到任何有帮助的东西。如果这已经被问到,我提前道歉。
我有一个位于 HTTP VIP 后面的服务,并且运行良好。现在我正在尝试添加一个 TCP VIP 并在主机上执行 TLS 终止,但是当我运行 cURL 来测试它是否正常工作时(请告诉我是否有更好的方法来测试连接),我收到以下错误,但我不知道这是什么意思。从我从这个链接中读到的,我认为这与证书步骤不起作用有关,但我不知道如何找出它不起作用的原因。
有谁知道我做错了什么或如何解决这个问题?如果我需要提供任何其他信息,请告诉我。我对网络不是很有经验,所以很多这对我来说都是新的。
% curl -v https://my-tcp-vip.example.com/explorer/model.json
* Trying 192.0.2.x...
* TCP_NODELAY set
* Connected to my-tcp-vip.example.com (192.0.2.x) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
* CAfile: /etc/ssl/cert.pem
CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS alert, Server hello (2):
* error:14004438:SSL routines:CONNECT_CR_SRVR_HELLO:tlsv1 alert internal error
* stopped …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的网站上创建 ssl 认证。为了创建 csr ,我使用了命令:
openssl req –new –newkey rsa:2048 –nodes –keyout mydomain.key –out mydomain.csr
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误消息:
req:使用 -help 进行汇总。
我检查了是否安装了openssl,它给出了版本。所以,它被安装了。
我不知道该怎么办。我对此很陌生。这是我第一次尝试获取 ssl。所以,我很难过。每一个帮助表示赞赏。
ssl ×10
nginx ×3
https ×2
openssl ×2
pci-dss ×2
apache-2.2 ×1
apache-2.4 ×1
certificate ×1
encryption ×1
redirect ×1
tcp ×1
tls ×1
ubuntu ×1
x509 ×1