Apache2配置ssl证书并启用http跳转https
标签搜索
侧边栏壁纸
  • 累计撰写 5 篇文章
  • 累计收到 0 条评论

Apache2配置ssl证书并启用http跳转https

未必然
2024-05-03 / 0 评论 / 46 阅读 / 正在检测是否收录...

第一步: 开启ssl模块

1.1使用 apachectl -M | grep ssl 查看信息返回是否有 ssl_module (shared) 字样
1.2如果返回信息没有 ssl_module (shared) 字样的话就输入下面指令开启

a2enmod ssl

第二步: 查看是否监听443端口

1.进入/etc/apache2/ports.conf,检测是否包含下面代码,没有就添加相应代码

Listen 80

<IfModule ssl_module>
        Listen 443
</IfModule>

<IfModule mod_gnutls.c>
        Listen 443
</IfModule>

第三步: 复制配置文件并编辑

1.复制网站配置文件000-default.conf或者default-ssl.conf到etc/apache2/sites-enabled/目录下

cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/yourdomain-ssl.conf

第四步:编辑配置文件

1.申请SSL证书方法:点这里查看
2.编辑yourdomain.conf,将下面内容中的yourdomain.com替换成你的域名

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

<VirtualHost *:443>
    ServerAdmin webmaster@localhost
    ServerName www.yourdomain.com
    
    SSLEngine on
    SSLCertificateFile /root/cert/www.yourdomain.com.cer
    SSLCertificateKeyFile /root/cert/www.yourdomain.com.key
    SSLCertificateChainFile /root/cert/fullchain.cer
    
    DocumentRoot /var/www/yourdomain.com
    <Directory "/var/www/yourdomain.com">
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined    
</VirtualHost>

第五步: 重启apache2

systemctl restart apache2

第六步:编辑.htaccess

如果无权限编辑conf配置文件的话在网站根目录下新建一个.htaccess文件并添加如下内如

# 裸域跳转到https//:www
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^yourdomain.com [NC]
    RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [L,R=301]
# 将所有HTTP流量重定向到HTTPS
   RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

</IfModule>

0

评论 (0)

取消