Apache2 Force重定向到HTTPS不起作用

时间:2018-03-09 20:52:36

标签: apache .htaccess

我正在尝试将所有流量重定向到HTTPS。但是当我访问http://example.com时,它会出现“403 Forbidden”错误。使用HTTPS,一切都很好。

我的/etc/apache2/apache2.conf默认包含所有内容,但不包括:

<Directory /home/site/www>
        Options -Indexes
        AllowOverride All
        Require all granted
</Directory>

我的/etc/apache2/sites-available/example.com.conf看起来像这样:

<VirtualHost *:443>
        ServerAdmin admin@example.com
        DocumentRoot /home/site/www
        ServerName example.com
        ServerAlias www.example.com

        SSLEngine on
        SSLCertificateFile /home/site/.ssl/example_com.crt
        SSLCertificateKeyFile /home/site/.ssl/example.key
        SSLCertificateChainFile /home/site/.ssl/example_com.ca-bundle

        ErrorLog /home/site/www/errors.php
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

我的.htaccess看起来像这样:

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

该网站托管在Ubuntu 16.04上。在Google Cloud上。相同的设置但在Amazon AWS上运行良好,并将所有请求重写为HTTPS。

1 个答案:

答案 0 :(得分:0)

解决。

只需sudo a2dissite 000-default.conf并添加:

<VirtualHost *:80>
    ServerAdmin admin@example.com
    DocumentRoot /home/site/www
</VirtualHost>

/etc/apache2/sites-available/example.com.conf