首页 > 解决方案 > Apache 错误 AH00526:000-default.conf 第 3 行的语法错误,缺少重定向 URL

问题描述

我在 Digital Ocean 使用一个 droplet,一个运行 Ubuntu 20.04(Apache/2.42.49,MySQL,PHP7.2.24 设置)的服务器和一个运行开源社交网络(ossn 5.2)的 droplet,用于我的非营利组织设置这个。域指向 DigitalOcean 名称服务器 (ns1.digitalocean.com.,ns2.digitalocean.com.,ns3.digitalocean.com.),A 记录指向 Droplet 的 Ipv4 地址。安装和配置后,一切都在 http 上运行。我从 ZeroSSL 收到了 SSL 证书,并编辑了 000-default.conf 以使用 SSL 证书(我正在使用 Digital Ocean [https://www.digitalocean.com/community/tutorials/ how-to-install-an-ssl-certificate-from-a-commercial-certificate-authority] 在他们的说明)与代码:

<VirtualHost *:80>
    ServerName ihn.my-domain.org
    Redirect permanent https://ihn.my-domain.org
</VirtualHost>

<VirtualHost *:443>
    
    ServerName ihn.my-domain.org
    ServerAdmin webmaster@my-domain.org
    DocumentRoot /var/www/html

    SSLEngine on
    SSLCertificateFile /home/sammy/ihn.my-domain.org.crt
    SSLCertificateKeyFile /home/sammy/ihn.my-domain.org.key
    SSLCACertificateFile /home/sammy/intermediate.crt

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined


</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

运行 apachectl configtest 时出现的错误是:

AH00526: Syntax error on line 3 of /etc/apache2/sites-enabled/000-default.conf: 
URL to direct to is missing. 
Action 'configtest' failed.

我不明白为什么我会收到此错误,并且除了我在 Digital Ocean 帮助中的说明之外,我在此处或其他地方找不到任何不同的示例,说明应该如何构建简单的 http 到 https 重定向地点。我是否缺少括号或引号?DigitalOcean 的说明适用于带有 Apache 的 Ubuntu 14.04,我不知道是否有一些我遗漏的东西已针对 Ubuntu 20.04 进行了更改。ZeroSSL 的帮助信息 ( https://help.zerossl.com/hc/en-us/articles/360015629239-Installing-SSL-Certificate-on-Apache ) 显示了在 <Virtualhost *:443> 部分中写入的内容配置文件,但没有设置从端口 80 到端口 443 的永久重定向。任何帮助将不胜感激。

标签: sslapache2digital-oceanhttp-redirect

解决方案


我想通了...我必须在重定向上有一个 FROM TO 语句。所以...

Redirect permanent http://ihn.my-domain.org https://ihn.my-domain.org

configtest 只找到一个 URL,它假设它是 FROM 并且没有指向的 TO。


推荐阅读