Https 协议将我重定向到 Apache 欢迎屏幕,而不是我的 Traccar 服务器

Https 协议将我重定向到 Apache 欢迎屏幕,而不是我的 Traccar 服务器

我对网络或服务器完全陌生。

我的老板希望我设置一个 Traccar 服务器。一切都很顺利,直到我必须使用 SSL 保护连接。我安装了一个自签名 SSL 证书(我担心这还不够,因为我的防病毒软件在第一次连接时就说它不受信任)。但是,现在如果我输入我的域名(https://gps.mydomain.com) 我得到的是 Apache2 欢迎屏幕而不是 Traccar 应用程序,如果我通过 http 连接,我仍然可以访问它。我该如何解决这个问题?我这样做对吗,尤其是自签名 SSL 证书?服务器在租用的 VPS 上的 Ubuntu 18.04 上。提前致谢。

答案1

如果我输入我的域名(https://gps.mydomain.com)我看到的是 Apache2 欢迎屏幕而不是 Traccar 应用程序,如果我通过 HTTP 连接,我仍然可以访问它。

在 Apache 中,HTTPS 站点需要与 HTTP 站点分开配置,即使它们指向同一个根目录(您的 Traccar 应用程序)。您之所以看到 Apache 欢迎屏幕,是因为您没有为 设置 HTTPS 配置https://gps.mydomain.com,因此 Apache 返回的是default-sslHTTPS 配置。

我该如何解决这个问题?

对于 Ubuntu 来说,你可能需要查看/etc/apache2/sites-available/default-ssl并进行相应的编辑。在进行任何更改之前,你可能需要进行备份。

请注意,可以复制此文件(default-ssl)并建立一个全新的 SSL虚拟主机(即保持default-ssl完整并“按原样”工作并为其创建一个全新的配置https://gps.mydomain.com)。

最小 SSL 虚拟主机示例

如果您决定保留default-ssl原样并创建一个新的 SSL 虚拟主机,以下是创建工作 SSL 虚拟主机所需的最少信息:

<VirtualHost *:443>

ServerName gps.mydomain.com:443
#ServerAlias gps.mydomain.com
DocumentRoot "/path/to/traccar/application"
ServerAdmin example@localhost

SSLEngine on
SSLOptions +StrictRequire

SSLCertificateFile "/path/to/your/certificate/file.crt"
SSLCertificateKeyFile "/path/to/your/key/file.key"

#Required by the first SSL virtualhost - Example
SSLProtocol TLSv1

</VirtualHost>  

将此文件另存为 eg /etc/apache2/sites-available/gps.mydomain.com-ssl(或任何你喜欢的名称)。如果你选择此选项,请不要忘记:

  • 运行sudo a2ensite example_filename以“启用”该站点(这会创建必要的符号链接)。

  • 运行sudo apachectl configtest以确保配置中没有错误。Syntax OK运行命令后您应该会看到。

  • 使用 重新启动 Apachesudo systemctl restart apache2以使更改生效(如果您只是修改,这一步也是必要的default-ssl)。

相关内容