apache配置https连接

本文详细介绍了在MacOS环境下,如何通过Apache服务器配置HTTPS,包括生成密钥和证书的过程,确保网站的安全访问。

以下例子在mac os下测试通过。其他环境雷同:

1.打开 /etc/apache2/httpd.conf  取消掉Include /private/etc/apache2/extra/httpd-ssl.conf 前面的注释符号#

2生成KEY和证书。 因为在 /private/etc/apache2/extra/httpd-ssl.conf 已经配置好KEY 和证书的名字所以下面的步骤中请不要修改生成的KEY文件的名字 如果修改请把httpd-ssl.conf中相应的文件路径和名字也修改

cd /etc/apache2

openssl genrsa -des3 -out server.key 1024

enter a passphrase for your private key. (输入key 的密码在接下来的过程中会用到,如果是为来开发用建议使用简单的比如 123456)

openssl req -new -key server.key -out server.csr

(接下来会提示输入一些比如国家了 省市了 名字 邮箱那些 随便输入就可以了)

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

cp server.key server.key.copy

openssl rsa -in server.key.copy -out server.key

(以上两个红色字的步骤理论上是不需要的 但是在我测试的过程中是必须的。 如果不要启动Apache 的时候会提示输入KEY 的密码 但是我这里不提示。 所以建议还是执行以上步骤)

sudo //etc/apache2/apachectl restart

https://localhost/  这样就可以访问了 如果用 https://localhos:443 会被自动跳转到 https://localhost


### 如何在Ubuntu上配置Apache服务器启用HTTPS #### 安装必要的软件包 为了使 Apache 支持 HTTPS 协议,在 Ubuntu 上除了安装 Apache 本身之外,还需要确保已安装 `openssl` 和 `mod_ssl` 模块。通过下面的命令可以完成这些操作: ```bash sudo apt update && sudo apt install apache2 openssl libapache2-ssl -y ``` 这一步骤会更新本地仓库缓存并安装所需的组件[^1]。 #### 创建自签名证书(可选) 如果打算使用正式的SSL/TLS证书,则跳过此部分;如果是测试环境或内部网络应用,可以通过 OpenSSL 工具创建一个临时性的自签名证书文件: ```bash sudo mkdir /etc/ssl/private/ sudo chmod 700 /etc/ssl/private/ sudo openssl req -keyout /etc/ssl/private/apache-selfsigned.key \ -out /etc/ssl/certs/apache-selfsigned.crt ``` 上述命令将会引导用户输入一些关于组织的信息来生成一对密钥和对应的 X.509 证书[^3]。 #### 修改默认站点配置以支持 SSL 编辑 `/etc/apache2/sites-available/default-ssl.conf` 文件,确保其中包含了正确的路径指向之前创建好的私钥与公钥(.crt)文件的位置,并设置好 ServerName 参数: ```nginx <IfModule mod_ssl.c> <VirtualHost _default_:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key </VirtualHost> </IfModule> ``` 保存更改后退出编辑器[^4]。 #### 启用相关模块和服务 为了让 Apache 能够识别新添加的内容以及处理加密连接请求,需激活几个重要的功能模块: ```bash sudo a2enmod ssl sudo a2ensite default-ssl sudo systemctl restart apache2 ``` 最后重启 Apache 来加载新的配置项[^2]。 #### 配置防火墙允许 HTTPS 流量 假如系统启用了 UFW (Uncomplicated Firewall),那么应该开放第443号TCP端口以便外部设备能够访问到安全版本的服务: ```bash sudo ufw allow 'OpenSSH' sudo ufw allow 'Apache Full' sudo ufw reload ``` 以上就是整个过程的大致描述,现在应当可以在浏览器地址栏里键入 https://your_server_ip 或者域名来进行验证了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值