Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache www.api.domain.com指向一个页面,api.domain.com指向另一个页面。www.domain.com起作用,但domain.com不起作用;T有什么好处?_Apache_Virtualhost - Fatal编程技术网

Apache www.api.domain.com指向一个页面,api.domain.com指向另一个页面。www.domain.com起作用,但domain.com不起作用;T有什么好处?

Apache www.api.domain.com指向一个页面,api.domain.com指向另一个页面。www.domain.com起作用,但domain.com不起作用;T有什么好处?,apache,virtualhost,Apache,Virtualhost,我有以下名为000-default.conf的Apache虚拟主机配置文件 <VirtualHost *:80> ServerName mydomain.com DocumentRoot /var/www/mydomain.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined RewriteEngine on R

我有以下名为000-default.conf的Apache虚拟主机配置文件

<VirtualHost *:80>
    ServerName mydomain.com
    DocumentRoot /var/www/mydomain.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

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

<VirtualHost *:80>
    ServerName api.mydomain.com
    ProxyPreserveHost On
    ProxyPass / http://xxx.xx.xx.xx:3000/
    ProxyPassReverse / http://xxx.xx.xx.xx:3000/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

ServerName mydomain.com
DocumentRoot/var/www/mydomain.com
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
重新启动发动机
RewriteCond%{SERVER_NAME}=mydomain.com
重写规则^https://%{SERVER_NAME}%{REQUEST_URI}[END,NE,R=permanent]
ServerName api.mydomain.com
代理主机
ProxyPass/http://xxx.xx.xx.xx:3000/
ProxyPassReverse/http://xxx.xx.xx.xx:3000/
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
我面临以下两个问题,我不确定问题是在Apache方面还是在DNS方面:

  • 当我访问时,我看到了我应该看到的页面 正在查看,但如果我尝试在搜索栏中键入domain.com,我会 获取错误-此网站无法提供安全连接
  • 当我访问api.mydomain.com时,我看到了正确的页面 本来应该看到的但当我尝试时 应该在上面的那一页

  • 有人能解释一下这是由于Apache配置错误还是我需要在DNS上做些什么吗?

    您需要在/etc/apache2/.conf中添加两行代码

    ServerAlias www.domain.com
    

    在ServerName下添加这一行看起来像一个配置问题(请参阅标记说明,该说明将这些问题声明为stackoverflow上的非主题。另外:您提供了端口80配置,以及一条关于“安全连接”的错误消息,并且在您提供的配置代码段中,您甚至没有配置所有希望以特定方式运行的主机名(例如
    www.api…
    )@OlafKock Hmmm为什么你说我甚至没有配置所有我希望以特定方式运行的主机名?第二个使用ServerName api.mydomain.com的虚拟主机应该处理api。你声明在
    api.*
    上一切正常,但在
    www.api.*
    上没有。我没有看到
    www.api.*的任何配置de>。我没有看到https的任何内容