您刚刚获得了一个新的 HTTPS (SSL/TLS) 证书,您希望得到正确的中间证书。
这是在 Apache 中设置的:
SSLCertificateKeyFile /etc/ssl/www.example.com.key
SSLCertificateChainFile /etc/ssl/www.example.com.chn
SSLCertificateFile /etc/ssl/www.example.com.crt
Run Code Online (Sandbox Code Playgroud)
或者在 Nginx 中使用:
ssl_certificate_key /etc/apache2/ssl/www.example.com.key;
ssl_certificate /etc/apache2/ssl/www.example.com.pem;
Run Code Online (Sandbox Code Playgroud)
记住apachectl configtest只检查这些文件是否存在;并且nginx -t“如果网站证书不是 crt 文件中的第一个,并且密钥错误,则会失败”(感谢Drifter104)。
那么,如何在重新启动之前检查所有内容?
您有错误的中间体(例如,GeoTrust 在一页上列出了它们的所有中间体)。
您不小心将中间证书文件与您的网站证书文件混合在一起。
您包含了根证书(影响性能,因为这会发送不必要的数据)。
您缺少一个或多个中级证书。
证书用于错误的密钥。
您已将这些文件保留为服务器上的任何人都可以读取(例如chmod 644)。
提取有关密钥、CSR 或证书文件的信息:
openssl rsa -check -in "www.example.com.key";
openssl req -text -noout -verify -in "www.example.com.csr";
openssl x509 -text -noout -in "www.example.com.crt";
Run Code Online (Sandbox Code Playgroud)
使用 sha256 获取公钥哈希(例如用于设置 HPKP):
openssl rsa …Run Code Online (Sandbox Code Playgroud) 我们的客户有一个基于 PrestaShop 的网上商店 ( https://www.hoerschiff.at ),现在他的托管商安装了 SSL 证书。我们更新了 PrestaShop 的配置,因此所有页面都强制通过 SSL 传送。我们现在面临的问题是,在 Chrome(也在 Safari 中)通过 HTTPS 加载页面的时间非常缓慢,而在 Firefox 中则可以正常加载。
开发人员工具表明,许多资产(JS、CSS、PNG 等)的“初始连接”时间非常长(从 5 秒到 1.5 分钟)。这仅在加载完整页面时发生。如果我直接加载一项资产(例如https://www.hoerschiff.at/themes/PRS030068/js/megnor/custom.js),它加载得很好。
我还发现了这个问题:Chrome 在 https 站点上运行缓慢,尤其是内部站点 但无法与之相关,因为当资产已经缓存时,站点正常加载。
首先,我认为这可能是 Apache/SSL 配置问题,但由于它在 Firefox 中正常加载,不应该是这种情况。
您有什么想法会导致初始连接时间变慢吗?
提前致谢!
我已经安装了 certbot,它为我托管的几个域创建了一个证书,并且正在运行 - 我得到了一个涵盖所有域的证书。现在我想向证书添加一个新域。我看到域根列在其中/etc/letsencrypt/renewal/domain.com.conf,我将相关条目添加到域中(在该[[webroot_map]]部分下)。然后我跑了
certbot-auto renew --force-renew
其中更新了证书(在浏览器中验证了证书颁发日期),但证书中未列出新添加的域。
我需要在哪里添加域才能将其添加到证书中?
在 Windows Server 2008 R2 上,用于编辑 https 绑定的“主机名”框被禁用。我无法启用它,以便我可以输入要绑定的主机名。
“颁发给”字段的证书采用 *.example.com 格式。
如何启用主机名框进行编辑?
编辑:建议的副本没有回答我的实际问题,即“为什么此框变灰且未启用?” 此外,该问题已过时,不考虑此处使用的方法:https : //blogs.msdn.microsoft.com/varunm/2013/06/18/bind-multiple-sites-on-same-ip-address-和-port-in-ssl/
我试图尽可能多地跟进此线程,但我总是收到此消息:
This site can’t be reached
example.com unexpectedly closed the connection.
Try:
Checking the connection
Checking the proxy and the firewall
ERR_CONNECTION_CLOSED
ReloadHIDE DETAILS
Run Code Online (Sandbox Code Playgroud)
在铬。
我所拥有的配置部分是这样的:
server {
listen 80;
listen 443 default_server ssl;
#ssl on;
server_name example.com www.example.com;
Run Code Online (Sandbox Code Playgroud)
这是我在本地 127.0.0.1 计算机上的测试网站 example.com。
我希望根据我接收流量的端口将我的自定义 http 端口流量重定向到自定义 https 端口
我有多个绑定语句:
bind 1.2.3.4:7777
bind 1.2.3.4:8888
bind 1.2.3.4:9999 ssl crt /etc/haporxy/somecert.crt
Run Code Online (Sandbox Code Playgroud)
我试过的:
acl is7777 dst_port 7777
http-request redirect code 301 https://%[req.hdr(Host)]:9999%[capture.req.uri] if is7777
Run Code Online (Sandbox Code Playgroud)
但是,当我查看 Chrome 开发工具中的日志时,我总是看到 req.hdr(Host) 的值保留了旧端口的值,因此我被重定向到
https://1.2.3.4:7777/:9999/.
Run Code Online (Sandbox Code Playgroud)
如何仅获取域名并将其重定向到所需的目标端口 9999
此外,像这样的事情:
http-request replace-value Host (.*):7777 \1:9999
Run Code Online (Sandbox Code Playgroud)
由于稍后有多个重定向,因此中断了应用程序流程。我需要从 7777(http) 转到 9999(https) 。haproxy 版本:1.5
使用 CentOS 7,我尝试使用firewall-cmd --zone=public --add-port=443/tcp --permanent将 443 添加到我允许的端口。不幸的是,这会引发错误ALREADY_ENABLED: 443:tcp。但是当我使用firewall-cmd --list-ports它时并没有显示在列表中(“80/tcp 3000/tcp 26900/tcp 26900/udp”)。
我想这个问题是由 firewall-cmd 和 iptables 之间的冲突引起的。但我不知道如何调试它,以及这是否可能。
调用firewall-cmd --list-all结果如下表:
public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh dhcpv6-client
ports: 80/tcp 3000/tcp 26900/tcp 26900/udp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Run Code Online (Sandbox Code Playgroud) 我希望消除我对使用 Let's Encrypt 用于内部站点/应用程序的一些困惑。我无法在其他地方找到这些信息。
我想将 Let's Encrypt 与 Certbot 配对使用,以允许在应用程序上使用 SSL。
问题:
如果我的任何问题是无知的,我深表歉意,我对这类东西的了解非常有限。也就是说,甚至可能有更好的选择来完成我需要的事情,所以我愿意接受建议。我选择了让我们加密而不是自签名证书,因为使用此解决方案,我不需要向需要访问的每台客户端计算机添加 CA。
我正在为我工作的小公司重新配置和保护服务器。我们使用它与 Autodesk Vault 一起存储设计文件和其他数据。它在附近服务器提供商的 VPS 上运行。
我这样做的原因是我们的服务器提供商已经通知我们,他们收到关于我们的服务器在互联网上行为不当的投诉,表明它在某种程度上受到了损害。除此之外,我们没有发现任何问题。服务器最初是在我来公司之前设置的,我找不到有关其配置的任何文档。它还运行 Windows Server 2012,所以我决定重新开始使用运行 Windows Server 2019 的新 VPS。这是我第一次使用 Windows 作为服务器操作系统,但我有一些管理 Ubuntu 服务器的经验。
查看旧服务器上的事件查看器,有无数次“4625 审核失败”登录尝试到服务器,但也有不少成功登录不是来自我或我们的组织。4624 审计成功示例:
An account was successfully logged on.
Subject:
Security ID: NULL SID
Account Name: -
Account Domain: -
Logon ID: 0x0
Logon Type: 3
Impersonation Level: Impersonation
New Logon:
Security ID: ANONYMOUS LOGON
Account Name: ANONYMOUS LOGON
Account Domain: NT AUTHORITY
Logon ID: 0x9ABEAB7
Logon GUID: {00000000-0000-0000-0000-000000000000}
Process Information:
Process ID: 0x0
Process Name: -
Network Information:
Workstation Name: …Run Code Online (Sandbox Code Playgroud) 我有一台运行 Debian 10 的服务器。它运行 Apache 2.4 以提供可在 下访问的 Web 服务https://example.com,这要归功于 LetsEncrypt 证书。
但它也运行一个应用程序 (Subsonic),它在端口 4040 上提供 Web UI,在它自己的 Web 服务器下,因为我没有它的 vhost,并且当 Apache 停止时它仍然可以访问。因此,目前该应用程序可通过 HTTP 访问http://example.com:4040。
我知道如何为 Apache 虚拟主机添加 SSL 支持,但如何为该应用程序添加 HTTPS 支持,以便可以在https://example.com:4040或上访问它https://example.com:1234?
另外,我是否应该使用与该域已有的 SSL 证书不同的 SSL 证书?
https ×10
ssl ×6
lets-encrypt ×2
nginx ×2
apache-2.2 ×1
apache-2.4 ×1
certificate ×1
firewall-cmd ×1
haproxy ×1
http ×1
iis ×1
iis-7.5 ×1
iptables ×1
ntlm ×1
port ×1
rdp ×1
redirection ×1
tls ×1