“Apache”的版本间的差异

来自Gea-Suan Lin's Wiki
跳到导航 跳到搜索
VirtualHost
設定
 
第4行: 第4行:
 
=== Rewrite ===
 
=== Rewrite ===
 
 把mod_rewrite開起來(現在大多數的情況應該都會用到):
 
 把mod_rewrite開起來(現在大多數的情況應該都會用到):
 +
 
<syntaxhighlight lang="shell-session">
 
<syntaxhighlight lang="shell-session">
 
$ sudo a2enmod rewrite
 
$ sudo a2enmod rewrite
第10行: 第11行:
  
 
=== SSL ===
 
=== SSL ===
 先啟動啟動SSL模組
+
 先啟動啟動SSL模組
 +
 
 
<syntaxhighlight lang="shell-session">
 
<syntaxhighlight lang="shell-session">
 
$ sudo a2enmod ssl
 
$ sudo a2enmod ssl

2018年8月9日 (四) 10:46的最新版本

Apache是一套網頁伺服器軟體。

設定

Rewrite

把mod_rewrite開起來(現在大多數的情況應該都會用到):

$ sudo a2enmod rewrite
$ sudo service apache2 restart

SSL

先啟動啟動SSL模組:

$ sudo a2enmod ssl
$ sudo service apache2 restart

Cipher

/etc/apache2/conf-available/sslciphersuite.conf內設定:

#
SSLCipherSuite CHACHA20+ECDHE:AESGCM+ECDHE:AES+ECDHE:CAMELLIA+ECDHE:!ADH:!AECDH:!DSS:!ECDSA:!MD5:!SHA1
SSLHonorCipherOrder On

接著用a2enconf sslciphersuite啟動。

SSL Stapling

/etc/apache2/conf-available/sslstapling.conf內設定:

#
SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"

接著用a2enconf sslstapling啟動。

VirtualHost

先啟動header模組:

$ sudo a2enmod headers
$ sudo service apache2 restart

這邊設定將HTTP導去HTTPS:

<VirtualHost *:80>
    ServerName example.com:80

    DocumentRoot /srv/example.com/public
    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined

    Redirect / https://example.com/
</VirtualHost>
<VirtualHost *:80>
    ServerName www.example.com:80

    DocumentRoot /srv/www.example.com/public
    ErrorLog ${APACHE_LOG_DIR}/www.example.com-error.log
    CustomLog ${APACHE_LOG_DIR}/www.example.com-access.log combined

    Redirect / https://www.example.com/
</VirtualHost>

以及HTTPS站台導去有www的網站:

<VirtualHost *:443>
    Protocols h2 http/1.1
    ServerName example.com:443

    DocumentRoot /srv/example.com/public
    ErrorLog ${APACHE_LOG_DIR}/example.com_ssl-error.log
    CustomLog ${APACHE_LOG_DIR}/example.com_ssl-access.log combined

    SSLEngine on
    SSLCertificateFile /etc/dehydrated/certs/example.com/cert.pem
    SSLCertificateKeyFile /etc/dehydrated/certs/example.com/privkey.pem
    SSLCertificateChainFile /etc/dehydrated/certs/example.com/chain.pem

    Header always set Strict-Transport-Security "max-age=31536000"
    Redirect / https://www.example.com/
</VirtualHost>

最後是本體:

<VirtualHost *:443>
    Protocols h2 http/1.1
    ServerName www.example.com:443

    DocumentRoot /srv/www.example.com/public
    ErrorLog ${APACHE_LOG_DIR}/www.example.com_ssl-error.log
    CustomLog ${APACHE_LOG_DIR}/www.example.com_ssl-access.log combined

    SSLEngine on
    SSLCertificateFile /etc/dehydrated/certs/www.example.com/cert.pem
    SSLCertificateKeyFile /etc/dehydrated/certs/www.example.com/privkey.pem
    SSLCertificateChainFile /etc/dehydrated/certs/www.example.com/chain.pem

    Header always set Strict-Transport-Security "max-age=31536000"
</VirtualHost>

外部連結