gpt4 book ai didi

Apache 虚拟主机非 www 不工作

转载 作者:行者123 更新时间:2023-12-04 19:42:34 26 4
gpt4 key购买 nike

我正在我的 CentOS 7 机器上设置一个虚拟主机文件,但我无法正确解析我的域。

这是我目前的/etc/httpd/conf.d/vhost.conf文件看起来像

NameVirtualHost *:80

<VirtualHost *:80>
ServerAdmin webmaster@domain.com
ServerName www.domain.com
ServerAlias domain.com
DocumentRoot /var/www/html/domain.com/public_html/
ErrorLog /var/log/httpd/error.log
CustomLog /var/log/httpd/access.log combined

RewriteEngine on
RewriteCond %{SERVER_NAME} =www.domain.com [OR]
RewriteCond %{SERVER_NAME} =domain.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

似乎正在发生正确的重定向。例如:

domain.com 重定向到 https://www.domain.com
www 工作正常



https://domain.com 不起作用
http://domain.com 不起作用

事实上,如果我删除了我设置的重定向,domain.com 根本就不起作用,所以看起来 ServerAlias 坏了?

我想知道我是否需要另一个重定向或者我还缺少其他步骤?

另外,不要介意 http 和域名之间的空格。 StackOverflow 让我这样格式化。

最佳答案

如前所述,没有任何请求 https将永远工作。正常,你只有一个VirtualHost在 80 端口上。你确实有一个 Listen该端口的指令对吗?

对于您的重定向。它说:如果您要求 http://www.example.comhttp://example.com , 重定向到 https://<WHAT THE USER ASKED FOR> .本质上,您是在强制您的用户一直使用 https,这没有问题。但是你没有VirtualHost在端口 443 上,因此没有响应。

所以:

Listen *:80
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com

ErrorLog /var/log/httpd/80_error.log
CustomLog /var/log/httpd/80_access.log combined

RewriteEngine on
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>

Listen *:443
<VirtualHost *:443>
ServerName www.example.com
# in case users do directly to https
ServerAlias example.com

DocumentRoot /var/www/html/domain.com/public_html/
DocumentIndex index.html

ErrorLog /var/log/httpd/443_error.log
CustomLog /var/log/httpd/443_access.log combined

# SSL CONFIGURATIONS, TODO!
</VirtualHost>
  • 在您的 *:443 VH 中,您必须配置证书和 SSL。
  • 您的证书必须对 www.example.com 和 example.com 都有效,以避免浏览器投诉。
  • 小心在 conf.d 下可能有一个包含 ssl.conf 的文件,它定义了其中的一些内容。确保只设置一次以避免混淆。
  • 无需定义DocumentRoot在 *:80 VH 中,因为它只重定向而不向客户端响应内容。

  • 玩得开心!

    关于Apache 虚拟主机非 www 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51003012/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com