Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.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
Linux 拒绝连接到本地主机上的虚拟主机_Linux_Macos_Apache_Homebrew_Dnsmasq - Fatal编程技术网

Linux 拒绝连接到本地主机上的虚拟主机

Linux 拒绝连接到本地主机上的虚拟主机,linux,macos,apache,homebrew,dnsmasq,Linux,Macos,Apache,Homebrew,Dnsmasq,我遵循了在macOS Yosemite上设置本地主机的教程 本教程将执行以下操作: 我们将Apache(使用自制软件)设置为在8080和8443端口上运行,并使用 ~/Sites文件夹和PHP-FPM中目录的自动虚拟主机 通过mod_fastcgi。OS X防火墙将所有端口80通信转发到 端口8080和端口443到端口8443,因此我们没有指定端口 在本地web浏览器中访问网页或作为运行Apache时的编号 根。MySQL已安装并设置为在启动时运行。DNSMasq和 某些OSX配置用于指导以.d

我遵循了在macOS Yosemite上设置本地主机的教程

本教程将执行以下操作:

我们将Apache(使用自制软件)设置为在8080和8443端口上运行,并使用 ~/Sites文件夹和PHP-FPM中目录的自动虚拟主机 通过mod_fastcgi。OS X防火墙将所有端口80通信转发到 端口8080和端口443到端口8443,因此我们没有指定端口 在本地web浏览器中访问网页或作为运行Apache时的编号 根。MySQL已安装并设置为在启动时运行。DNSMasq和 某些OSX配置用于指导以.dev结尾的任何主机名 到本地系统与Apache的 自动虚拟主机

我的设置

我正在运行新安装的macOS Sierra 10.12.3安装

问题

当我访问一个虚拟主机(比如)时,我得到一个“ERR_CONNECTION_densed”错误

一些测试

看起来我的dnsmasq做了正确的事情:

$ ping -c 3 test.dev
PING test.dev (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.041 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.102 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.131 ms

--- test.dev ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.041/0.091/0.131/0.038 ms
已安装Apache 2.2:

$ httpd -v
Server version: Apache/2.2.31 (Unix)
Server built:   Mar 14 2017 14:33:49
端口80似乎已关闭:

$ telnet 127.0.0.1 80
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host
文件

我的
~/Sites/httpd vhosts.conf
如下所示:

#
# Listening ports.
#
#Listen 8080  # defined in main httpd.conf
Listen 8443

#
# Use name-based virtual hosting.
#
NameVirtualHost *:8080
NameVirtualHost *:8443

#
# Set up permissions for VirtualHosts in ~/Sites
#
<Directory "/Users/robbertvermeulen/Sites">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    <IfModule mod_authz_core.c>
        Require all granted
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Allow from all
    </IfModule>
</Directory>

# For http://localhost in the users' Sites folder
<VirtualHost _default_:8080>
    ServerName localhost
    DocumentRoot "/Users/robbertvermeulen/Sites"
</VirtualHost>
<VirtualHost _default_:8443>
    ServerName localhost
    Include "/Users/robbertvermeulen/Sites/ssl/ssl-shared-cert.inc"
    DocumentRoot "/Users/robbertvermeulen/Sites"
</VirtualHost>

#
# VirtualHosts
#

## Manual VirtualHost template for HTTP and HTTPS
#<VirtualHost *:8080>
#  ServerName project.dev
#  CustomLog "/Users/robbertvermeulen/Sites/logs/project.dev-access_log" combined
#  ErrorLog "/Users/robbertvermeulen/Sites/logs/project.dev-error_log"
#  DocumentRoot "/Users/robbertvermeulen/Sites/project.dev"
#</VirtualHost>
#<VirtualHost *:8443>
#  ServerName project.dev
#  Include "/Users/robbertvermeulen/Sites/ssl/ssl-shared-cert.inc"
#  CustomLog "/Users/robbertvermeulen/Sites/logs/project.dev-access_log" combined
#  ErrorLog "/Users/robbertvermeulen/Sites/logs/project.dev-error_log"
#  DocumentRoot "/Users/robbertvermeulen/Sites/project.dev"
#</VirtualHost>

#
# Automatic VirtualHosts
#
# A directory at /Users/robbertvermeulen/Sites/webroot can be accessed at http://webroot.dev
# In Drupal, uncomment the line with: RewriteBase /
#

# This log format will display the per-virtual-host as the first field followed by a typical log line
LogFormat "%V %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedmassvhost

# Auto-VirtualHosts with .dev
<VirtualHost *:8080>
  ServerName dev
  ServerAlias *.dev

  CustomLog "/Users/robbertvermeulen/Sites/logs/dev-access_log" combinedmassvhost
  ErrorLog "/Users/robbertvermeulen/Sites/logs/dev-error_log"

  VirtualDocumentRoot /Users/robbertvermeulen/Sites/%-2+
</VirtualHost>
<VirtualHost *:8443>
  ServerName dev
  ServerAlias *.dev
  Include "/Users/robbertvermeulen/Sites/ssl/ssl-shared-cert.inc"

  CustomLog "/Users/robbertvermeulen/Sites/logs/dev-access_log" combinedmassvhost
  ErrorLog "/Users/robbertvermeulen/Sites/logs/dev-error_log"

  VirtualDocumentRoot /Users/robbertvermeulen/Sites/%-2+
</VirtualHost>
停止防火墙:

service iptables stop
检查端口8080或8443是否打开

netstat -alp | grep -e 8080 -e 8443
获取pid并检查它是否与apache pid匹配

ps -ef | grep httpd
如果apache日志显示某些错误,请检查其日志

tail -f /etc/httpd/logs/access_log /etc/httpd/logs/error_log
停止防火墙:

service iptables stop
检查端口8080或8443是否打开

netstat -alp | grep -e 8080 -e 8443
获取pid并检查它是否与apache pid匹配

ps -ef | grep httpd
如果apache日志显示某些错误,请检查其日志

tail -f /etc/httpd/logs/access_log /etc/httpd/logs/error_log

防火墙可能没有将127.0.0.1:80重定向到端口8080。尝试连接到8080端口。你说的“尝试连接到8080端口”是什么意思?您的意思是我需要更改我的整个设置或测试端口8080,例如telnet?测试端口8080和telnet。我认为您的防火墙没有触及到127.0.0.1的连接
$telnet 127.0.0.1 8080
返回
telnet:connect to address 127.0.0.1:连接被拒绝telnet:not connect to remote host
我刚刚意识到问题所在。您的Apache服务器仅在8443上侦听。8080上要监听的线路被注释掉了。防火墙可能没有将127.0.0.1:80重定向到端口8080。尝试连接到8080端口。你说的“尝试连接到8080端口”是什么意思?您的意思是我需要更改我的整个设置或测试端口8080,例如telnet?测试端口8080和telnet。我认为您的防火墙没有触及到127.0.0.1的连接
$telnet 127.0.0.1 8080
返回
telnet:connect to address 127.0.0.1:连接被拒绝telnet:not connect to remote host
我刚刚意识到问题所在。您的Apache服务器仅在8443上侦听。8080上要收听的线路被注释掉了。