apache https配置问题

时间:2012-12-18 20:17:07

标签: linux apache ssl https virtualhost

我在配置RHEL框以接受HTTPS连接时遇到问题。这就是我到目前为止所做的:

我的RHEL框位于IP上的DMZ:172.16.0.3 - 我通过在浏览器中输入IP来访问网站。我没有为此设置DNS条目:

我在用户目录中设置了虚拟主机:

/home/mywebapp

我在这里创建了一个文件夹,我在其中创建了我的证书文件。

/home/mywebapp/application/certs/

我已使用此命令创建证书:

openssl req -new -x509 -days 365 -keyout 172.16.0.3.key -out 172.16.0.3.crt -nodes -subj  ‘/O=My Web App/OU=My Web App IT Dept/CN=172.16.0.3’

在httpd.conf中,我在443上启用了命名虚拟主机:

NameVirtualHost *:80
NameVirtualHost *:443

我已按如下方式配置虚拟主机:

<VirtualHost *:80>
 ServerName 172.16.0.3
 ServerAlias 172.16.0.3 *.172.16.0.3
 DocumentRoot /home/mywebapp/public_html
 <Directory "/home/mywebapp/public_html">
     allow from all
     Options +Indexes
 </Directory>
 <Location />
     RewriteEngine on
     RewriteCond %{HTTPS} off
     RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R]
 </Location>
 </VirtualHost>

<VirtualHost *:443>
 ServerName 172.16.0.3
 ServerAlias 172.16.0.3 *.172.16.0.3
 DocumentRoot /home/mywebapp/public_html
 <Directory "/home/mywebapp/public_html">
     allow from all
     Options +Indexes
 </Directory>
 SSLEngine On
 SSLCertificateFile /home/mywebapp/application/certs/172.16.0.3.crt
 SSLCertificateKeyFile /home/mywebapp/application/certs/172.16.0.3.key   
</VirtualHost>

从服务器浏览器访问网站时,这似乎工作正常,例如“https:// localhost”,但尝试通过“https://172.16.0.3”从客户端浏览器连接无法连接。

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

  1. 检查iptable防火墙
  2. 如果可以
  3. ,请停用SELinux
  4. 使用netstat -natp | grep -e 80 -e 443
  5. 检查端口80/443是否正在侦听
  6. 使用来自客户端的telnet 172.16.0.3 80命令检查它是否允许建立连接。