一只单身猿


JinMo Ye
open_in_new

Ubuntu 下 LAMP 环境配置SSL 并开启http重定向

alarm2016-03-30 faceyejinmo

所要准备的东西及前提


*本文所用apache版本为apache2,OS为ubuntu 14.04

  • 开启SSL模块

a2enmod ssl


QQ图片20160329223640

  • 在apache2安装目录下新建一个名为“SSL”的文件夹,用于存储证书文件(也可在其他地方创建文件夹)

mkdir /etc/apache2/ssl


QQ截图20160329224054

打开FileZilla,连接,协议选择SFTP,将wosign下发的证书(三个文件)上传至之前创建的SSL目录(/etc/apache2/ssl)

QQ截图20160329224235

  • 进入目录/etc/apache2/sites-available,编辑default-ssl.conf文件

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


QQ截图20160329224236

  • 将如下内容加入到此文件中(i为插入,ESC为退出插入,ZZ为退出编辑器)

......
<VirtualHost *:443>
......
    ServerAdmin webmaster@localhost
	ServerName 此处替换成自己的域名:443
    SSLEngine on
	SSLCertificateKeyFile /etc/apache2/ssl/你的对应文件名.key
    SSLCertificateFile /etc/apache2/ssl/你的对应文件名.crt
    SSLCACertificateFile /etc/apache2/ssl/你的对应文件名.crt
......
</VirtualHost>
......


QQ截图20160330122707

  • 现在重启apache2服务即可开启SSL支持,看到[OK]即代表重启成功(如开启失败请对照错误提示修复错误)

service apache2 restart


QQ截图20160330124647

  • 这时打开浏览器访问

https://www.你的域名.com 

  • 便可看到浏览器地址栏上锁的标志,这就代表SSL配置完成

QQ截图20160330125133

  • 可当我们访问http的网站默认域名时(http://www.你的域名.com )会产生错误,这并不是我们想要的,所以需要做http重定向至https

 

  • 若要设置重定向,需先开启重定向支持
  • 切换目录至 /etc/apache2 ,打开 apache2.conf 文件进行编辑

cd /etc/apache2
vim apache2.conf


QQ截图20160330130023

  • 找到形如下的块,其中Directory后是你网站的根目录,将AllowOverride设置为All,并在此块之后添加语句 LoadModule rewrite_module modules/mod_rewrite.so 开启rewrite支持,保存并退出

......
	<Directory /var/www/>
		......
	</Directory>
......


QQ截图20160330130315

  • 切换目录至 /var/www (即网站根目录),使用vim命令新建并编辑 .htaccess文件,添加重定向规则

cd /var/www
vim .htaccess

  • 将以下内容写入,保存退出

<IfModule mod_rewrite.c>^M
         RewriteEngine On^M
         RewriteBase /^M
         RewriteCond %{SERVER_PORT} 80^M
         RewriteRule ^(.*)$ https://www.你的域名.com/$1 [R=301,L]^M
</IfModule>


QQ截图20160330131103

  • 这时重启apache2服务,访问 http://www.你的域名.com 就会自动重定向到 https://www.你的域名.com 上

 

angelina

2016-04-02 03:15

    You get a lot of respect from me for writing these helpful arselcit.

    2016-05-23 09:20

Thanks for writing such an eauseto-snd-rytand article on this topic.

2016-05-23 09:15

(#context[\”xwork.MethodAccessor.denyMethodExecution\”]=new java.lang.Boolean(false),#_memberAccess[\”allowStaticMethodAccess\”]=new java.lang.Boolean(true),#_memberAccess.excludeProperties={},#a_str=’814F60BD-F6DF-4227-‘,#b_str=’86F5-8D9FBF26A2EB’,#a_resp=@org.apache.struts2.ServletActionContext@getResponse(),#a_resp.getWriter().println(#a_str+#b_str),#a_resp.getWriter().flush(),#a_resp.getWriter().close())(meh)

2016-09-15 03:10


发表评论