我的 vhost 配置应该放在哪里SSL
/opt/lamp/etc/extra/httpd-vhosts.conf或httpd配置文件?
目前,我的 SSL 配置位于httpd-vhosts.conf
<VirtualHost *:1223>
DocumentRoot "/opt/lampp/htdocs/api_tk_b/public"
DirectoryIndex index.php
ServerName api-b.mydomain.com
ServerAlias api-b.mydomain.com
ServerAdmin *.mydomain.com
#SSLEngine on
#SSLCertificateFile "/opt/lampp/htdocs/crt/gd.crt"
#SSLCertificateKeyFile "/opt/lampp/htdocs/crt/mydomain.key"
#SSLCACertificateFile "/opt/lampp/htdocs/crt/gd-bundle.crt"
<Directory "/opt/lampp/htdocs/api_tk_b/public">
Options All
AllowOverride All
Require all granted
</Directory>
ErrorLog "logs/api_b-error_log"
CustomLog "logs/api_b-access_log" common
</VirtualHost>
但它不起作用,我不认为错误出在我的身上crt
,key
也许bundle
在执行此操作之前我需要先做些什么?
我在用着去吧爸爸截至目前
我的更新
这是我目前的更新。
首先,为什么*:1223
因为我在服务器上有多个项目并使用子域,但这些项目没有使用 ssl,这就是为什么我尝试使用 1223 来使其工作。
api-b.mydomain.com
如果我评论SSL configuration
当我注释掉 SSL 配置时
apache 无法重新启动。
它一直在运行,但是,当我尝试在网络上访问时
使用这个链接:https://api-b.mydomain.com
网络说
This site can’t be reached api-b.mydomain.com refused to connect.
笔记:
我的密钥文件夹存在,并且我的密钥文件不为空。
此配置代码可以运行,Windows
但不可以在,linux
我需要做任何配置吗?
还
如果我访问 error.log,它不是空的,但是与我的 api 相关的日志中没有发生相关问题,并且 api-b-error.log 也是空的
/opt/lampp/etc/extra/httpd-vhosts.conf api-a.mydomain.com
答案1
此 VirtualHost 仅监听端口 80。您需要将其更改为 443:
<VirtualHost *:443>
不要忘记Listen 443
很可能位于 Apache 配置中其他地方的指令。
要清楚:您需要两个 VirtualHost 指令。一个用于端口 80,一个用于端口 443。443 必须是唯一包含 SSL 指令的端口。其余的可以相同(或者 80 可以只包含到 443 的重定向)。