`
shuai1234
  • 浏览: 972310 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

Apache使用ssl模块配置HTTPS

    博客分类:
  • java
 
阅读更多

在这篇文档中,我们将使用自签名证书。假设CentOS已经安装了Apache Web服务器。我们需要使用OpenSSL生成自签名证书。如果尚未安装OpenSSL,它可以使用yum来安装。

# yum install mod_ssl openssl

安装完毕后,会自动生成 /etc/httpd/conf.d/ssl.conf 文件,下文配置会用到!

 

下面的命令可以被用来产生一个自签名的证书。

首先,生成2048位的加密私钥

# openssl genrsa -out server.key 2048

然后,生成证书签名请求(CSR),这里需要填写许多信息,如国家,省市,公司等

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

最后,生成类型为X509的自签名证书。有效期设置3650天,即有效期为10年

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

 

创建证书后,将文件复制到对应的目录。

# cp server.crt /etc/pki/tls/certs/
# cp server.key /etc/pki/tls/private/        
# cp server.csr /etc/pki/tls/private/

 

首先,修改下面的配置文件。仅需配置红色部分 SSLCertificateFile 和 SSLCertificateKeyFile

# vim /etc/httpd/conf.d/ssl.conf

### overwrite the following parameters ###
SSLCertificateFile /etc/pki/tls/certs/server.crt
SSLCertificateKeyFile /etc/pki/tls/private/server.key

调整虚拟主机

 

# vim /etc/httpd/conf/httpd.conf

NameVirtualHost *:443

<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/server.crt
    SSLCertificateKeyFile /etc/pki/tls/private/server.key
    <Directory /var/www/html/virtual-web>
        AllowOverride All
    </Directory>
DocumentRoot /var/www/html/virtual-web   //这里是目录结构
ServerName www.example.com
</VirtualHost>

重新启动httpd服务使更改生效# service httpd restart 

强制Apache Web服务器始终使用https

强制主站所有Web使用全局站点

如果要强制主站使用HTTPS,我们可以这样修改httpd配置文件:

# vim /etc/httpd/conf/httpd.conf

ServerName www.example.com:80
Redirect permanent / https://www.example.com

重启Apache服务器,使配置生效:

# service httpd restart

 

强制虚拟主机单个站点

如果要强制单个站点在虚拟主机上使用HTTPS,对于HTTP可以按照下面进行配置:

# vim /etc/httpd/conf/httpd.conf

<VirtualHost *:80>
    ServerName www.example.com
    
Redirect permanent / https://www.example.com
</VirtualHost>

重启Apache服务器,使配置生效:

# service httpd restart

单个站点全部使用HTTPS,则 http://www.example.com 会强制重定向跳转到 https://www.example.com

 

分享到:
评论

相关推荐

    Apache Server的Httpd配置文件SSL443 配置https

    1. 安装必要的组件:在大多数Linux系统中,我们需要安装Apache的SSL模块以及SSL证书。通常可以通过以下命令完成: ``` sudo apt-get install apache2 ssl-cert ``` 或者,如果你使用的是CentOS/RHEL系统: ``` ...

    apache 无法加载ssl模块的问题

    Apache 无法加载SSL模块是一个常见的问题,特别是在配置或更新服务器以支持HTTPS通信时。这个问题通常是由于多种原因引起的,包括但不限于缺失的库文件、错误的配置、未正确编译或安装的模块,以及权限问题。接下来...

    Apache的SSL的配置和应用

    2. **配置SSL模块**:在`httpd-ssl.conf`文件中启用SSL模块,并指定证书路径。 - 示例配置: ```apacheconf LoadModule ssl_module modules/mod_ssl.so Include /etc/httpd/conf/extra/httpd-ssl.conf ``` 3. *...

    Apache+SSL安全反向代理配置案例

    安装完成后,需要对Apache配置文件httpd.conf进行修改,启用SSL模块和反向代理功能: 1. 解压SSL扩展包,将mod_ssl模块复制到Apache的modules目录。 2. 在httpd.conf中加载mod_ssl模块,添加`LoadModule ssl_module...

    windows下apache的SSL配置

    在Windows环境下配置Apache服务器以支持SSL(Secure Sockets Layer)是一项关键任务,它能确保网站数据传输的安全性,特别是对于涉及用户隐私信息的网站。SSL是互联网上的一种标准安全协议,用于加密通信并验证...

    apache配置https

    在Apache上配置HTTPS涉及到几个关键步骤,下面将详细介绍这个过程。 首先,我们需要确保Apache已经安装并且运行正常。如果还没有安装,可以通过操作系统特定的包管理器来安装,例如在Ubuntu上使用`sudo apt-get ...

    apache的SSL配置手册

    在配置阶段,需要启用SSL模块,并指定OpenSSL的路径。例如,使用以下配置命令: ```bash ./configure --prefix=/usr/local/apache2 --enable-so --enable-ssl=static --with-ssl=/usr/local/ssl --enable-mods-...

    Apache2.2.15 配置http和https

    2. **安装SSL模块**:Apache可能已经预装了`mod_ssl`模块,如果没有,需要通过包管理器安装,如`sudo apt-get install libapache2-mod-php`。 3. **配置虚拟主机**:为HTTPS创建一个新的`&lt;VirtualHost&gt;`,指定`...

    交叉编译构建带有SSL模块的Apache服务器

    接下来,我们将详细介绍如何使用本地编译配置并编译Apache,然后利用之前构建的交叉编译环境进行交叉编译,并在过程中使用特定的技巧来替换某些文件以确保SSL模块被正确集成。这些步骤将包括但不限于设置环境变量、...

    apache配置ssl

    4. **配置Apache**:在Apache的配置文件`httpd.conf`中,打开SSL模块,并指定SSL相关的配置,包括证书和私钥的位置。例如: ```apache Listen 443 *:443&gt; ServerName your.domain.com SSLEngine on ...

    Apache_2.4.23-x86-no-ssl.zip

    对于不包含SSL的版本,如果用户需要添加SSL支持,可以手动安装OpenSSL库,并使用Apache的mod_ssl模块进行配置。这通常涉及到下载OpenSSL二进制文件,将其添加到系统路径,然后在Apache的配置文件httpd.conf中修改或...

    svn+apache+ssl整合

    编辑Apache的配置文件(如httpd.conf或sites-available文件),添加必要的模块加载指令,如`LoadModule dav_svn_module modules/mod_dav_svn.so`和`LoadModule ssl_module modules/mod_ssl.so`。配置SVN仓库的访问...

    apache安装并配置HTTPS

    - 编辑Apache的配置文件httpd.conf,启用SSL模块和设置虚拟主机。 - 在VirtualHost部分添加以下内容: ``` Listen 443 SSLEngine on SSLCertificateFile /path/to/server.crt SSLCertificateKeyFile /path/to...

    apache_2.0.63-win32-x86-no_ssl.msi

    若要在没有SSL支持的Apache服务器上启用HTTPS,你需要单独下载并配置SSL模块,如mod_ssl。 安装Apache HTTP Server通常涉及以下步骤: 1. 下载安装文件:在这个例子中,就是"apache_2.0.63-win32-x86-no_ssl.msi"。...

    Apache SSL 加密機制

    1. 安装SSL模块:在Apache服务器上安装mod_ssl模块,这是Apache对SSL/TLS的支持组件。 2. 配置SSL证书:获取并安装SSL证书,证书应由权威的CA签发,以确保其可信度。 3. 修改配置文件:编辑Apache的配置文件httpd....

    Apache https 配置手册

    在 Apache 中,我们需要安装 SSL 模块并配置相关参数以实现 HTTPS。 系统配置要求 为了实现 HTTPS 配置,需要满足一定的系统配置要求: * 硬件要求:需要至少 1GB 的内存和 1GHz 的处理器速度。 * 软件要求:需要...

    禅道10.4的SSL配置

    5. **启用SSL模块**:确保Apache服务器启用了SSL模块。如果未启用,使用命令`a2enmod ssl`来激活。 6. **测试配置**:修改完成后,使用`apachectl configtest`命令检查配置文件是否有语法错误。无误后,重启Apache...

    SSL及HTTPS配置文档

    3. **配置HTTPS**:在服务器配置文件中设置SSL模块,指定证书和私钥文件位置,以及加密套件、端口等参数。 4. **强制HTTPS**:为了确保所有流量都通过安全通道,可以配置重定向规则,将HTTP请求自动转换为HTTPS。 `...

Global site tag (gtag.js) - Google Analytics