linux - apache https 配置问题

标签 linux apache ssl https virtualhost

<分区>


想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。

关闭 10 年前

我在配置 RHEL box 以接受 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. 检查iptable防火墙
  2. 如果可以,请禁用 SELinux
  3. 使用 netstat -natp | 检查端口 80/443 是否被监听grep -e 80 -e 443
  4. 使用来自客户端的telnet 172.16.0.3 80 命令来检查是否允许建立连接。

关于linux - apache https 配置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13940796/

上一篇:c# - 443 端口的备用端口是什么?

下一篇:mysql - 启动 SSL 和 MySql

相关文章:

c - 由于 .h 上的 "preprocessor define"重新编译

apache - 如何将apache配置为asp.net core的反向代理

apache - SEO 和 Mod_rewrite 的标签

ssl - 如何强制或重定向我的 next.js 网站以使用 https

Node.js https pem 错误 : error:0906D06C:PEM routines:PEM_read_bio:no start line

android - SslErrorHandler proceed() 函数的实现

java - 如何在java中使用预先存在的unix库

c++ - X11 应用程序在 Ubuntu 中没有响应

linux - tail -f OR less +F 如何高亮新行

Javascript 找不到我的 mod_rewrite 查询字符串!