httpsサービスを提供するようにApacheを設定する方法は?

httpsサービスを提供するようにApacheを設定する方法は?

数時間後、ついにSSL証明書を使用するようにApacheを設定しましたが、設定に問題があることがわかりました。次のアドレスを入力してGoogle Chromeが自分のドメインにアクセスしようとすると、次の警告が表示されます。

 erichermansson.com

 Forbidden
 You don't have permission to access / on this server. 

ただし、Google Chromeに次のアドレスを入力すると、私の証明書を使用してサーバーとそのサーバーにアクセスできます。

 https://erichermansson.com

私は何が間違っていましたか?

これは私の仮想ホストです。

 <VirtualHost *:443>
ServerAdmin [email protected]
ServerName erichermansson.com
ServerAlias www.erichermansson.com
SSLEngine ON
SSLCertificateFile /www/erichermansson.com/ssl/erichermansson.com.crt
SSLCertificateKeyFile /www/erichermansson.com/ssl/erichermansson.com.key
DocumentRoot /www/erichermansson.com/html/
ErrorLog /www/erichermansson.com/logs/error.log
CustomLog /www/erichermansson.com/logs/access.log combined
<Directory /www/erichermansson.com/html/ >
     Options FollowSymLinks
     AllowOverride All
     Order deny,allow
     Allow from all
 </Directory>
</VirtualHost>

答え1

HTTPをHTTPSにリダイレクトするには、次のものが必要です(最初のステップ3をすでに実行している可能性があります)。

  1. ルータでポート80を許可します。

  2. ポート 80 をサーバーに転送します。

  3. ファイアウォールに穴を開けます。

    sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
    
  4. ポート80のVirtualHostの定義(および443):

    <VirtualHost *:80>
      ServerName             erichermansson.com
      ServerAlias            www.erichermansson.com
      RewriteEngine          on
      RewriteCond            %{HTTP_HOST} ^www\.(.*)$ [NC]
      RewriteRule            ^(.*)$ https://%1/$1 [R]
      RewriteCond            %{HTTPS} !on
      RewriteRule            ^/?(.*) https://%{SERVER_NAME}/$1 [R=301]
    </VirtualHost>
    
    <IfModule mod_ssl.c>
    
      <VirtualHost *:443>
    
      ... your code here ...
    
      </VirtualHost>
    
    </IfModule>
    
  5. できるようにするmod_rewrite

    sudo a2enmod rewrite
    
  6. たとえば、HTTPからHTTPSへのリダイレクトを定義します。

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

    ステップ4を完了しました。

  7. 最後に、Apacheを再起動します。

    sudo service apache2 restart
    

関連情報