参考: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
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