我刚刚在各种网站上安装了SSL证书。如果我直接访问网站的https版本,它们工作正常,但当我转到http版本时,我得到:"原因:您正在向支持SSL的服务器端口说明HTTP。 #34;
这应该是什么,但不是......
super.drive()
它的任何版本也没有
if (isset($_POST['logonhours'])){
$set_logonhours = $_POST['logonhours'];
$set_logonhours_end = mb_substr($set_logonhours, -5); // EST TIMEZONE
$set_logonhours_begin = mb_substr($set_logonhours, 0, -5); // EST TIMEZONE
$set_logonhours_tz = $set_logonhours_end . $set_logonhours_begin;
$set_eighthourchunks = str_split($set_logonhours_tz, 8);
foreach ($set_eighthourchunks as $chunk){
$logondec = pack("C", bindec(strrev($chunk))); //inconsistently works sometimes
}
echo $logondec;
$adldap->user()->modify($_POST['username'], array("logonhours"=>$logondec));
echo '<br>';
echo ldap_error($adldap->getLdapConnection()) . '<br>';
}
我甚至尝试将其放在服务器上的vhost.conf文件中。
我和我的开发人员都没有想法,令人震惊的是,我们无法找到与全能的Google一起帮助我们的任何事情。有人有什么想法?
答案 0 :(得分:1)
您是否尝试过Apache HTTPD wiki?
答案 1 :(得分:0)
我正在使用这些重写规则将我的http请求重定向到我的应用程序上的https并使用SSL证书。
RewriteEngine Off
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
答案 2 :(得分:0)
我认为您的问题很早就会发生,即使在请求上应用mod_rewrite之前也是如此。
您在端口80上侦听的VirtualHost是一个https虚拟主机,但浏览器试图在端口80上说 plain http ,但这不起作用。
在Apache上激活SSL:
SSLEngine on
只有在*:443
(或something:443
的任何变体)上侦听Virtualhost时,才会激活此说明。
您应该在端口80上添加一些Virtualhost侦听,支持可以在该服务器上使用的一堆ServerName和ServerAlias(或者可能是所有名称,通过确保此Virtualhost是端口80的默认名称),并且仅支持工作是重定向443端口。
在这里你可以使用@Anand Bhat提供的链接来执行这个任务(并且不需要mod_rewrite)。
但所有这些'重定向到https'任务假设您已经有一个工作虚拟主机,其中https未激活。因为如果https在任何地方都被激活,你甚至无法与服务器开始讨论以接收重定向,那么就没有'普通的http'渠道来接收这个响应甚至开始要求某些东西。
答案 3 :(得分:0)
好的,所以万一其他人遇到这个问题,我现在想要更新,我终于修复了。对于我们来说,我们在vhost.conf文件中还有其他一些干扰的东西。一旦我将其删除并采取了其他一些建议,这就是最终在vhost.conf中工作的代码。 .htaccess文件现在没有任何内容,因为它不需要。
## -- VIRTUAL HOSTS -- ##
NameVirtualHost *:80
<VirtualHost *:80>
ServerName dev.example.net
Redirect permanent / https://dev.example.net/
</VirtualHost>
<VirtualHost *:443>
#-SERVER CONFIG-#
ServerAdmin webmaster@example.net
ServerName dev.example.net
ServerAlias dev.example.net
DocumentRoot /var/www/html/example
#-SSL-#
SSLEngine On
SSLProtocol all -SSLv2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLCertificateFile /etc/httpd/conf/ssl.crt/...
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/...
SSLCACertificateFile /etc/httpd/conf/ssl.crt/...
SSLCertificateChainFile /etc/pki/tls/certs/...
SSLCACertificateFile /etc/pki/tls/certs/...
#-LOGGING-#
ErrorLog /var/www/html/example/error_log
</VirtualHost>