我在家庭网络上运行的第二台服务器的会话方面遇到了一些问题。我这是一个爱好,并在正式上线之前开发新的应用程序。
我有一个指向我的ip的域并成功解析到服务器1,但在配置mod_proxy将特定域发送到服务器2后,我收到了一些不需要的错误和结果。我希望第二台服务器充当普通服务器,只需通过第一台服务器,因为我当前的路由器只能将端口80发送到一个本地IP而不过滤它。
我的第二台服务器有a.mydomain.com但它解析得很好但是当我尝试在第二台服务器上使用Web应用程序时出现以下错误
Warning: You are now accessing Mydomain from http://10.0.1.38/, but Mydomain has been configured to run at this address: http://a.mydomain.com/
我能解决这个问题吗?
此外,当尝试通过a.mydomain.com/phpmyadmin访问phpmyadmin时,它将在登录后更改为a.mydomain.com/proxy/phpmyadmin,我是否可以更改此设置以使其基本无缝且不添加/代理
这是我的服务器1的vhost配置
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName www.server1domain.net
</VirtualHost>
<VirtualHost *:80>
ProxyPreserveHost On
ServerName a.mydomain.com
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://10.0.1.38/
ProxyPassReverse / http://10.0.1.38/
</VirtualHost>
这是服务器2的vhost配置
<VirtualHost *:80>
ServerAdmin admin@mydomain.com
DocumentRoot /var/www/mydomaincom
ServerName a.mydomain.com
</VirtualHost>
我正在运行Centos 6.4
答案 0 :(得分:0)
好吧,我终于明白了这一点,现在有些东西显而易见,但这适用于处于类似情况的其他人。
早在我的http.conf中我有这个
<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
# destination directory
ProxyPass /proxy http://10.0.1.38
ProxyPassReverse /proxy http://10.0.1.38
</IfModule>
这似乎有两个问题,似乎添加/ proxy /目录也是错误的,因为ip没有尾部斜杠,因此我将其改为此
<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
</IfModule>
我的第一台服务器的http.conf vhost配置现在看起来像这样
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / http://10.0.1.38/
ServerName a.mydomain.com
</VirtualHost>
如果你在ip之后忘记了斜杠,你最有可能会遇到502错误:无法解决dns
第二台服务器vhost config看起来像这样
<VirtualHost *:80>
ServerAdmin admin@mydomain.com
DocumentRoot /var/www/mydomain
ServerName a.mydomain.com
</VirtualHost>
希望能帮助其他有类似问题的人。