Apache
跳转到导航
跳转到搜索
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>
外部连结
- 官方网站 (英文)