前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ubuntu下为Apache配置ssl

Ubuntu下为Apache配置ssl

作者头像
96php.cn
发布2018-04-28 15:10:36
1.8K0
发布2018-04-28 15:10:36
举报
文章被收录于专栏:www.96php.cnwww.96php.cn
  1. 启用 ssl 模块
代码语言:javascript
复制
vi /usr/local/apache/conf/httpd.conf

查找httpd-ssl将前面的#去掉。

2.安装openssl

代码语言:javascript
复制
sudo apt-get install openssl

3. 创建CA签名(不使用密码去除-des3选项)

代码语言:javascript
复制
openssl genrsa -des3 -out server.key 1024

4. 创建CSR(Certificate Signing Request)

代码语言:javascript
复制
openssl req -new -key server.key -out server.csr

5. 自己签发证书

代码语言:javascript
复制
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

6. 复制到相应目录

代码语言:javascript
复制
sudo cp server.crt /etc/ssl/certs 
sudo cp server.key /etc/ssl/private

7.然后再执行

代码语言:javascript
复制
cat >/usr/local/apache/conf/extra/httpd-ssl.conf<<EOF
Listen 443

AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProxyCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLHonorCipherOrder on

SSLProtocol all -SSLv2 -SSLv3
SSLProxyProtocol all -SSLv2 -SSLv3
SSLPassPhraseDialog builtin

SSLSessionCache "shmcb:/usr/local/apache/logs/ssl_scache(512000)"
SSLSessionCacheTimeout 300

SSLMutex "file:/usr/local/apache/logs/ssl_mutex"

SSLStrictSNIVHostCheck on
NameVirtualHost *:443
EOF

8. 修改配置文件

代码语言:javascript
复制
vi  /usr/local/apache/conf/extra/httpd-vhosts.conf

加入下列代码:

代码语言:javascript
复制
<VirtualHost *:443>

#php_admin_value open_basedir "/home/wwwroot/default:/tmp/:/var/tmp/:/proc/"

SSLStrictSNIVHostCheck off

DocumentRoot "/home/wwwroot/default" //项目目录 

ServerName cyntec.cn //域名 

ServerAdmin 111111@outlook.com //邮箱

ErrorLog "/home/wwwlogs/IP-error_log"

CustomLog "/home/wwwlogs/IP-access_log" combined

SSLEngine on

SSLCertificateFile /home/home/crt/2_cyntec.cn.crt //证书目录

SSLCertificateKeyFile /home/home/key/3_cyntec.cn.key //证书目录

<Directory "/home/wwwroot/default">//项目目录

SetOutputFilter DEFLATE

Options FollowSymLinks

AllowOverride All

Order allow,deny

Allow from all

DirectoryIndex index.html index.PHP

</Directory>

</VirtualHost>

重启

代码语言:javascript
复制
 /etc/init.d/httpd restart

如果你想让你的用户访问你的webapp时只使用安全的HTTPS协议,而不是没加密过的HTTP协议,可以这样配置Apache:

在<Virtualhost *:80>里面加入如下内容:

代码语言:javascript
复制
RewriteEngine On
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R,L]
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年2月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档