ss1
最近做了个网站,
买的腾讯云的server,但是系统是 ubuntu 18.04
框架是Apache 2
但是腾讯云的案例的cent os7 这样的话 有一些细节还是不一样的
所以想自己弄个ubuntu 18.04的
先看一下443 端口是不是导通的 CVM的是自己一件导通了
首先需要生成一个文件价,关于SSL认证的文件夹,
- 文件夹内容:
root_bundle.crt
证书文件cloud.tencent.com.crt
证书文件cloud.tencent.com.key
私钥文件
- CSR 文件内容:
cloud.tencent.com.csr
文件
案例给的下一步是:
- 使用 “WinSCP”(即本地与远程计算机间的复制文件工具)登录 Apache 服务器。
- 我用的是 MobaXterm
- 下一步就不一样了
将已获取到的 root_bundle.crt
证书文件、cloud.tencent.com.crt
证书文件以及 cloud.tencent.com.key
私钥文件从本地目录拷贝到 Apache 服务器的 /etc/httpd/ssl
目录下。
我的系统里面 没有etc/httpd/ssl的目录
查了一下
一、安装Apache
$sudo apt-get install apache2
使用此方式安装的APACHE,配置比较分散,一般如下:
- 默认站点在 /var/www/
- 配置文件在 /etc/apache2/
- 日志在 /var/log/apache/
- 启动脚本是 /usr/bin/apache2ctl 或者 /etc/init.d/apache
- ubuntu自带openssl 所以 可以直接执行 下面的代码
-
sudo a2enmod ssl
- 结果显示的是:
- ubuntu@VM-16-9-ubuntu:~$ sudo a2enmod ssl
Considering dependency setenvif for ssl:
Module setenvif already enabled
Considering dependency mime for ssl:
Module mime already enabled
Considering dependency socache_shmcb for ssl:
Enabling module socache_shmcb.
Enabling module ssl.
See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates.
To activate the new configuration, you need to run:
systemctl restart apache2 - 然后把文件送到系统里面去,碰到了permission deny 需要提权
sudo chmod -R 777 *
先cd到folder再提权
就能复制进去了
最后我放在了 etc/apache2/ssl里面 然后里面的step8也是按照这个改的
找到里面的
/etc/apache2/sites-available/
里面的default-ssl.conf 修改 对应腾讯云case里面的 step8
<VirtualHost 0.0.0.0:443>
DocumentRoot "/var/www/html"
#填写证书名称
ServerName xxxx.top
#按需求写#
#启用 SSL 功能
SSLEngine on
#证书文件的路径
SSLCertificateFile /etc/apache2/ssl/xxx.top.crt
#私钥文件的路径
SSLCertificateKeyFile /etc/apache2/ssl/xxx.top.key
#证书链文件的路径
SSLCertificateChainFile /etc/apache2/ssl/root_bundle.crt
</VirtualHost>
改完配置以后 配置生效 然后reload
sudo a2ensite default-ssl.conf
然后重启apache2
sudo /etc/init.d/apache2 restart
https可以访问 但是图片啥的加载不出来
没有强制把http变成https
#踩坑1号
wordpress 上 用代码 改function 变为https 好像还是没有用
#踩坑2号
sudo a2enmod rewrite
重启阿帕奇
sudo service apache2 reload
systemctl restart apache2
#踩坑三号
试试看 修改htacess
在var/www/html下面的 根目录
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]
#踩坑四号
/var/www/ change wp-config.php
then add
<?php $_SERVER['HTTPS'] = 'on'; define('FORCE_SSL_LOGIN', true); define('FORCE_SSL_ADMIN', true);
to the first page of wp-config.php
#踩坑5号
把常规和站点 都改成DNS之后的名字 也就是域名
#踩坑6号
安装了SIMPLE SSL的插件 点了activate
然后终于..好了... 但是 问题来了 我不知道是哪一步做对了...