个人网站搭建、ssl安全证书部署

记录,以便将来需要复现时再度踩坑。

 

首先,第一次搭建网站用的服务器的系统是centos,所以当时参考的是这一篇教程:

https://www.cnblogs.com/snake553/p/8856729.html

最后结果是成功的。

之后自己又一次搞的话,用的是ubuntu的服务器。没有什么不好,还能用来ss,所以坚持用Ubuntu。之前不小心把网站搭建好了,没有记录是怎么弄得,所以要重新踩坑。

https://achuan.io/2018-11-08-Ubuntu-Deployment.html

这篇帖子既是教程,又是一个不错的个人博客模板,可以模仿借鉴。

*******************************************************************************

ok,现在是新的阶段了,因为个人租的服务器被我重新装了系统。

安装apache2:sudo apt-get install apache2  这个装好就能访问网站,比centos简单的多得多。

安装openssl:sudo apt-get install openssl

之后需要有一个ssl证书,是三个文件,我是放在/etc/httpd/ssl的。具体的申请ssl证书的流程应该见:https://cloud.tencent.com/document/product/400/8422

(部署ssl证书,腾讯云客服也给了一个链接,但是是针对centos:https://cloud.tencent.com/document/product/400/8422。那对于Ubuntu16,资料是自己找的,然后踩坑的记录特此记录。)

这个时候可以访问网站的,但是就是没有安全证书,会显示不安全。

在做一系列操作之前,首先明确两个事情,apache有个ssl模块,需要加载,如果有修改还需要重定向。除此以外,apache本身也需要人为的去打开关闭重启。相关的操作指令如下:

ssl模块加载:sudo a2enmod ssl

ssl模块重定向:sudo a2enmod rewrite

apache服务打开:sudo service apache2 start

apache服务重启:sudo service apache2 restart

apache服务关闭:sudo service apache2 stop

ok,知道怎么操作ssl模块和apache服务后,就开始讲逻辑。有两个文件是需要改的:

/etc/apache2/sites-enabled/000-default.conf是/etc/apache2/sites-available/000-default.conf的软连接,

然后ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf创建另一个软连接。

至此之后,更改/etc/apache2/sites-enabled/000-default.conf和/etc/apache2/sites-enabled/000-default-ssl.conf即可。

第一个功能是让http://www.xxxx能访问。做到这一点,需要改动000-default-ssl.conf。


    
        ServerAdmin 你的邮箱
        
        DocumentRoot /var/www/你的目录
        ServerName 你的域名

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        SSLEngine on
        # 注意,需要添加这三行
        SSLCertificateFile 你自定义的路径/2_xxx.xxx.xxx.crt
        SSLCertificateKeyFile 你自定义的路径/3_xxx.xxx.xxx.key
        SSLCertificateChainFile 你自定义的路径/1_root_bundle.crt
    
        
                SSLOptions +StdEnvVars
        

        
                SSLOptions +StdEnvVars
        

    

搞到这儿之后,加载ssl模块,然后重启apache,即可发现,http://www.xxxx已经可以访问了。

第二个功能就是将http://强制转换为https://,避免不安全的问题。需要在000-default.conf中加入三行。

RewriteEngine on

RewriteCond %{HTTPS} !=on

RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R]

 然后需要重定向ssl模块,然后重启apache服务。至此即可强制转换访问为http://www.xxxx。

这样就彻底搞定了,可以安全的访问和维护网站。

 

调试

本地调试:

本地安装

安装apache2:sudo apt-get install apache2  

安装openssl:sudo apt-get install openssl

之后,在浏览器访问127.0.0.1即可访问本地的/var/www/html/index.html了

在线调试:

在线调试用火狐浏览器可以实时响应,但是google浏览器暂时不行。

 

你可能感兴趣的:(个人网站搭建、ssl安全证书部署)