Linux 拒绝连接到本地主机上的虚拟主机
我遵循了在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做了正确的事情: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
$ 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上要收听的线路被注释掉了。