ubuntu安装https

参考:http://www.metsky.com/archives/561.html

1.安装Apache
  sudo apt-get install apache2

2.安装opensslsudo
  sudo apt-get install openssl

3.开启SSL模块
  sudo a2enmod ssl

4.创建证书
  证书有两种:一种是自签名证书,另外一种是第三方CA机构签名证书。第一种随便使用,只是没有经过官方认可的机构认证而已,后一种则是正规的签名证书,有发证机构签名。其实很多所谓的大网站上使用的SSL证书,一样都是自签名的,主要是因为这个证书只做为在线验证使用,保证传输数据安全即可,不过使用这种证书,对常规浏览器和一些软件而言,一般均会弹出警告,让你确认这个签名证书的有效性。正规签名证书也不过只是多了一重保障而已,而且浏览器、软件等可以自己鉴别。

4.1自签名证书

   openssl req -x509 -newkey rsa:1024 -keyout apache.pem -out apache.pem -nodes -days 999

   mkdir /etc/apache2/ssl

   mv apache.pem /etc/apache2/ssl

4.2第三方CA机构签署证书

   openssl req -new -nodes -keyout private.key -out public.csr

   openssl req -new -nodes -newkey rsa:2048 -keyout domain.key -out domain.csr

5.HTTPS(SSL)配置
  vi /etc/apache2/ports.conf
  NameVirtualHost *:80
  Listen 80
  NameVirtualHost *:443

  vi /etc/apache2/httpd.conf
  ServerName 域名

  ln -s /etc/apache2/sites-available/default /etc/apache2/sites-enabled/default
  vi /etc/apache2/sites-enabled/default
  NameVirtualHost *:80
  ServerName 域名

  ln -s /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/default-ssl

  vi /etc/apache2/sites-enabled/default-ssl
  NameVirtualHost *:443
  ServerName 域名
  SSLEngine on
  #SSLCertificateFile /etc/apache2/ssl/apache.pem

  SSLCertificateFile      /etc/apache2/ssl/server.crt
  SSLCertificateKeyFile   /etc/apache2/ssl/server.key
  SSLCertificateChainFile /etc/apache2/ssl/cfca.crt

7.配置强制http转换到https
  vi /etc/apache2/httpd.conf  
  ServerName 域名
  LoadModule rewrite_module modules/mod_rewrite.so

  vi /etc/apache2/sites-enabled/default   
  RewriteEngine On
  RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R,L]
 
8.重启apache
   /etc/init.d/apache2 restart
   service apache2 restart
 

你可能感兴趣的:(ubuntu)