小编Jah*_*mic的帖子

Apache 从 http 重定向到 https 不起作用

我有以下配置文件:

文件 1:

NameVirtualHost  123.45.67.890:80

<VirtualHost 123.45.67.890:80>
    ServerName example.com

    RedirectPermanent / https://example.com/

#   RewriteEngine On
#   RewriteCond %{SERVER_PORT} !^443$
#   RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [L,R]

#   SSLRequireSSL
#   Redirect permanent /secure https://example.com/

#   Redirect / https://example.com/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

从注释掉的行中可以看出,我尝试了几种方法。

文件2:

NameVirtualHost 123.45.67.890:443

<VirtualHost 123.45.67.890:443>
    DocumentRoot "/opt/www/example-docroot"
    ServerName example.com
    DirectoryIndex index.html
    SSLEngine on

    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile /etc/httpd/conf.d/ssl/example.com/csr.example.2011.pem.blade
    SSLCertificateKeyFile /etc/httpd/conf.d/ssl/example.com/nokey.example.2011.pem
    SSLCACertificateFile /etc/httpd/conf.d/ssl/example.com/CA.blade.2011.csr

    <Files ~ "\.(cgi|shtml|phtml|php3?)$">
        SSLOptions +StdEnvVars
    </Files>
    <Directory "/etc/httpd/cgi-bin">
        SSLOptions +StdEnvVars
    </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

为了简单起见,删除了一些东西,更改了名称以保护无辜者。

我更新了服务器 /etc/httpd/vhosts 上的这些文件

然后运行

apachectl restart
Run Code Online (Sandbox Code Playgroud)

这确实给了我这些警告:

[warn] NameVirtualHost …
Run Code Online (Sandbox Code Playgroud)

https virtualhost apache-2.2

3
推荐指数
2
解决办法
6万
查看次数

标签 统计

apache-2.2 ×1

https ×1

virtualhost ×1