Protocols apache如何从自定义端口重定向到https协议?

Protocols apache如何从自定义端口重定向到https协议?,protocols,apache,Protocols,Apache,如何重定向到 使用此代码时,我收到400(错误请求)错误: RewriteEngine RewriteCond %{HTTPS} !=on RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] 提前谢谢 编辑: 以下是完整配置: Listen 444 NameVirtualHost ip:444 <VirtualHost ip:444> ServerName secure.domai

如何重定向到

使用此代码时,我收到400(错误请求)错误:

RewriteEngine
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
提前谢谢

编辑:

以下是完整配置:

    Listen 444
    NameVirtualHost ip:444

    <VirtualHost ip:444>
            ServerName secure.domain
            DocumentRoot "/var/www/.phpmyadmin/3.5.1/"

            RewriteEngine On
            RewriteCond %{HTTPS} !=on
            RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

            SSLEngine on
            SSLProtocol all -SSLv2
            SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM

            SSLCertificateFile /etc/httpd/conf/domain.crt
            SSLCertificateKeyFile /etc/httpd/conf/domain.pwdless.key
            SSLCertificateChainFile /etc/httpd/conf/sub.class1.server.ca.pem
            SSLCACertificateFile /etc/httpd/conf/ca.pem

            <Directory "/var/www/.phpmyadmin/3.5.1/">
                    Options None
                    AllowOverride None
                    Order allow,deny
                    Allow from all
                    AuthType Basic
                    AuthName "Restriected Access"
                    AuthUserFile "/var/www/.phpmyadmin/.access"
                    Require valid-user
            </Directory>
    </VirtualHost>

    <VirtualHost ip:444>
            ServerName domain
            ServerAlias *.domain
            RedirectMatch 404 ".*"
    </VirtualHost>
听444
名称虚拟主机ip:444
ServerName.secure域
DocumentRoot“/var/www/.phpmyadmin/3.5.1/”
重新启动发动机
重写cond%{HTTPS}=在…上
重写规则^/?(*)https://%{SERVER_NAME}/$1[R,L]
斯伦金安
SSLProtocol all-SSLv2
SSLCipherSuite全部:!ADH:!出口:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
SSLCertificateFile/etc/httpd/conf/domain.crt
SSLCertificateKeyFile/etc/httpd/conf/domain.pwdless.key
SSLCertificateChainFile/etc/httpd/conf/sub.class1.server.ca.pem
SSLCACertificateFile/etc/httpd/conf/ca.pem
选项无
不允许超限
命令允许,拒绝
通融
AuthType Basic
AuthName“重新分段访问”
AuthUserFile“/var/www/.phpmyadmin/.access”
需要有效用户
服务器名域
ServerAlias*.domain
重定向匹配404“*”

这是不可能的。服务器设置为仅接受该端口上的SSL请求。有一个RFC可以支持您所要求的内容(RFC2817),但普通浏览器不支持它。如果不使用单独的端口号,Apache如何知道在连接到该端口时是否执行SSL协商?实际上我知道。444端口已启用SSL引擎。但是,如果我写作,我只想被重定向到https://上http://.This 一个确实从重定向到呃,你是对的。当然这是可能的,但是服务器必须检测到有非SSL请求进入。我认为使用Apache/mod_ssl是不可能的。它似乎还存在各种潜在的安全问题,但也许这并不比打开端口80更糟糕。