实现泛域名配置和HTTP跳转HTTPS以及SSL证书
apt install apache2
修复启动报错
source /etc/apache2/envvars
地址重写(实现访问 a.domain.com ==> /var/www/html/a)
sudo a2enmod rewrite
启用SSL
sudo a2enmod ssl
sudo a2ensite default-ssl

HTTP跳转HTTPS
修改配置文件
/etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
    #DocumentRoot /var/www/html
    #RewriteEngine On
    #RewriteCond %{HTTP_HOST} ^(([-_a-zA-Z0-9])+)\.\w+\.\w+$ [NC]
    #RewriteRule ^(.*)$ /%1/$1 [L]
    #ErrorLog ${APACHE_LOG_DIR}/error.log
    #CustomLog ${APACHE_LOG_DIR}/access.log combined
    #ErrorDocument 404 "404 Not Found"
    RewriteEngine on
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^/?(.*)$ https://%{SERVER_NAME}/$1 [L,R]
</VirtualHost>

/etc/apache2/sites-available/default-ssl.conf

    <VirtualHost _default_:443>
            #文档路径
            DocumentRoot /var/www/html
            #域名地址重写匹配
            RewriteEngine On
            RewriteCond %{HTTP_HOST} ^(([-_a-zA-Z0-9])+)\.\w+\.\w+$ [NC]
            RewriteRule ^(.*)$ /%1/$1 [L]
            # 错误页面提示
            ErrorDocument 404 "404 Not Found!!!"
            #日志
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
            # SSL 证书配置
            SSLEngine on
            SSLCertificateFile      /etc/apache2/ssl/fullchain.crt
            SSLCertificateKeyFile /etc/apache2/ssl/private.pem
            <FilesMatch "\.(cgi|shtml|phtml|php)$">
                            SSLOptions +StdEnvVars
            </FilesMatch>
            <Directory /usr/lib/cgi-bin>
                            SSLOptions +StdEnvVars
            </Directory>
    </VirtualHost>
</IfModule>

配置证书
nano /etc/apache2/ssl/fullchain.crt
nano /etc/apache2/ssl/private.pem
最后重启apache2

service apache2 restart

标签: none

添加新评论