上下文:我正在尝试在 Mac OS X Server 10.6.7 上设置 SVN 服务器,但遇到了“SSL 错误解析 tlsext”问题。我已经尝试SSLProtocol按照描述更改选项,但随后我收到了“解压错误”错误。
另一个解决方案似乎是将 openssl 升级到 0.9.8m 或更大。
我可以下载和编译 openssl 就好了,但是我不知道将它挂接到 Apache 和 mod_ssl 的默认安装中的最佳方法。我想尽可能地坚持使用内置的 Apple 软件,最好也不要覆盖他们的 openssl 版本。
如何更新 mod_ssl 以在 Mac OS X Server 10.6 上使用新版本的 openssl?
我有两台服务器,一台是可以在我们公司的本地网络内部访问的开发服务器,另一台是面向公众的 Web 服务器。开发服务器托管了几个我们用来在内部管理项目的工具,但现在我们也需要在维护安全性的同时从外部访问它们。
我已经使用 ProxyPass 和 ProxyPassReverse 指令在外部服务器上设置了 mod_proxy 以将外部请求映射到内部服务器。我还在这些外部虚拟主机上设置了身份验证,以为外部访问提供安全性。我还需要使用 SSL 进行外部访问,但理想情况下更希望让内部工具可以通过普通 HTTP 访问内部网络中的人员。
是否有可能实现这种行为,如果可以,我应该使用哪些指令和 Apache 模块以及需要在哪些服务器上设置它们?
我正在尝试在CentOS6上安装带有 SSL 的 Apache 以用作开发服务器。
我一直在遵循此处发布的说明来使 SSL 正常工作:http : //wiki.centos.org/HowTos/Https(注意:Apache 在我尝试启用 SSL 之前一直运行良好。)
当我开始谈论重新启动 Apache 时,服务器无法启动。我只是收到以下错误:
[Mon Feb 13 18:31:36 2012] [error] (13)Permission denied: Init: Can't open
server certificate file /etc/pki/tls/certs/ca.crt
Run Code Online (Sandbox Code Playgroud)
我看到报告的证书归我的用户和我的组所有,所以我将其更改为root:root但没有任何区别。我不知道还有什么可以尝试或看什么。谢谢。
注意:我的问题与此类似,但错误不同。
我以前从未遇到过这样的事情。如果确定 HTTPS 已关闭,我试图简单地将页面重定向到 HTTPS 版本,但它显示的是 HTML 页面而不是实际重定向;更奇怪的是,它将它显示为文本/纯文本!
VirtualHost 声明(排序):
ServerAdmin admin@example.com
DocumentRoot "/path/to/files"
ServerName example.com
SSLEngine On
SSLCertificateFile /etc/ssh/certify/example.com.crt
SSLCertificateKeyFile /etc/ssh/certify/example.com.key
SSLCertificateChainFile /etc/ssh/certify/sub.class1.server.ca.pem
<Directory "/path/to/files/">
AllowOverride All
Options +FollowSymLinks
DirectoryIndex index.php
Order allow,deny
Allow from all
</Directory>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule .* https://example.com:6161 [R=301]
Run Code Online (Sandbox Code Playgroud)
页面输出:
ServerAdmin admin@example.com
DocumentRoot "/path/to/files"
ServerName example.com
SSLEngine On
SSLCertificateFile /etc/ssh/certify/example.com.crt
SSLCertificateKeyFile /etc/ssh/certify/example.com.key
SSLCertificateChainFile /etc/ssh/certify/sub.class1.server.ca.pem
<Directory "/path/to/files/">
AllowOverride All
Options +FollowSymLinks
DirectoryIndex index.php
Order allow,deny
Allow from all
</Directory>
RewriteEngine On
RewriteCond …Run Code Online (Sandbox Code Playgroud) 我正在尝试将来自证书颁发机构的 SSL 证书安装到 CentOS 5.x 中的 httpd 服务器中。当我配置它并启动服务器时,我收到以下错误,
[error]Init: Unable to read server certificate from file /etc/pki/tls/certs/ssl_certificate.crt
[error] SSL Library Error: 218570875 error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long
Run Code Online (Sandbox Code Playgroud)
我正在按照http://wiki.centos.org/HowTos/Https上的程序设置 ssl
任何指针都会非常有帮助
我正在尝试为通过 SSL 运行 tomcat 嵌入服务器的应用程序设置反向代理。该应用程序需要在端口 9002 上通过 SSL 运行,因此我无法为此应用程序“禁用 SSL”。当前的设置架构如下所示:
[192.168.0.10:443 - Apache with mod_proxy] --> [192.168.0.10:9002 - Tomcat App]
Run Code Online (Sandbox Code Playgroud)
在谷歌搜索如何进行这样的设置(和测试)之后,我遇到了这个:
https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/861137
这导致我当前的配置(尝试模拟 wget 的 --secure-protocol=sslv3 选项)
/etc/apache2/sites/enabled/default-ssl:
<VirtualHost _default_:443>
SSLEngine On
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
SSLProxyEngine On
SSLProxyProtocol SSLv3
SSLProxyCipherSuite SSLv3
ProxyPass /test/ https://192.168.0.10:9002/
ProxyPassReverse /test/ https://192.168.0.10:9002/
LogLevel debug
ErrorLog /var/log/apache2/error-ssl.log
CustomLog /var/log/apache2/access-ssl.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
问题是错误日志显示错误:14077102:SSL 例程:SSL23_GET_SERVER_HELLO:不支持的协议
完整的请求日志:
[Wed Mar 13 20:05:57 2013] [debug] mod_proxy.c(1020): Running scheme https handler (attempt 0)
[Wed Mar 13 20:05:57 2013] [debug] mod_proxy_http.c(1973): proxy: …Run Code Online (Sandbox Code Playgroud) 如果我简单地使用“SSLCertificateFile”和“SSLCertificateKeyFile”两次,则第一个证书链将被破坏。
我可以同时使用由不同中间 CA 证书颁发的 RSA 和 ECC 证书吗?
==================
更新:OpenSSL 1.0.2 解决了这个问题。只需使用“SSLCertificateFile”和“SSLCertificateKeyFile”两次。请注意,“SSLCertificateFile”应该是整个证书链。
我有一台frontend.example.com带有公共 IP的服务器。Apache (2.4) 应该代理service1.example.com(DNS 别名为frontend.example.com)的流量。
service1.example.com是位于192.168.56.0两者之间的专用 LAN ( )上的 VM 。
现在,这对 HTTP 来说很容易:
<VirtualHost *:80>
ServerName service1.example.com
ProxyPass / http://192.168.56.2/
ProxyPassReverse / http://192.168.56.2/
<Location "/">
Require all granted
</Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我正在尝试为 HTTPS 做同样的事情:
<VirtualHost *:443>
ServerName service1.example.com
SSLEngine On
SSLProxyEngine On
ProxyRequests Off
SSLProxyCheckPeerCN off
SSLProxyCheckPeerExpire off
SSLInsecureRenegotiation on
SSLProxyVerify none
SSLVerifyClient none
SSLCertificateFile /etc/ssl/certs/example_com.crt
SSLCertificateKeyFile /etc/ssl/certs/example_com.key
ProxyPass / https://192.168.56.2/
ProxyPassReverse / https://192.168.56.2/
<Location "/">
Require all granted
</Location>
</VirtualHost> …Run Code Online (Sandbox Code Playgroud) 我在 Unix 机器上有一个 Apache 服务器:
Apache/2.2.29 (Unix) OpenSSL/0.9.8zg
我想将 OpenSSL 版本升级到 1.0.2,这是我系统上当前安装的版本:
machine:/ user$ openssl version
OpenSSL 1.0.2d 9 Jul 2015
Run Code Online (Sandbox Code Playgroud)
我可以在不重新编译整个服务器的情况下做到这一点吗?我必须重新编译mod_ssl只因为它里面装httpd.conf用LoadModule?
LoadModule ssl_module modules/mod_ssl.so
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我正在运行 Apache 2.2.31 并且我正在尝试让 Perfect Forward Secrecy 工作。使用 Qualys SSL Labs表明,除了 IE 之外,几乎所有东西都使用可以使用前向保密的密码。
我已经验证在 Apache 配置中SSLHonorCipherOrder设置为on,但我想知道是否有一种方法可以从外部测试密码顺序是否被强制执行。
SSLLabs 按偏好顺序列出了支持的密码,它与我在配置文件中指定的内容相匹配
mod-ssl ×10
apache-2.2 ×7
mod-proxy ×3
ssl ×3
apache-2.4 ×2
centos ×2
openssl ×2
.htaccess ×1
centos6 ×1
certificate ×1
httpd ×1
mod-rewrite ×1
tomcat ×1