我有一台服务器有2个ip地址。
我在.net(webapi,一个控制台应用程序等)中使用多个应用程序,并使用在apache上运行的PHP(w / xampp)。
我将IIS配置为在默认端口80上运行,而xampp使用端口8080。
正如我之前所说,我有两个IP地址和两个域名(例如:domain1.com和domain2.com)。
我需要将domain1.com.br指向IIS应用程序(这是有效的),但我的php应用程序永远不会到达,因为所有请求都被定向到端口80(iis控制)。
答案 0 :(得分:0)
由于apache的重定向功能,你可能需要让apache接受控制。主要的想法是设置apache,使用apache的重定向功能(vhost,如果你更喜欢这样称呼它)来将特殊请求指向你的IIS服务器。
更改您的IIS侦听端口8080(并将域设置为您的域,例如domain1.com)。让您的apache在80上听。
在apache配置文件(http.conf)中启用以下模块:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
启用:
Include conf/extra/httpd-vhosts.conf
3。下一步是设置虚拟主机。编辑配置文件conf\ extra\httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "x:\The\Dir\to\Your\Php\Site"
ServerName domain2.com.br
ErrorLog "logs/domain2-error.log"
CustomLog "logs/domain2-access.log" common
</VirtualHost>
你的domain2.com.br的设置是Done.Restart你的apache服务器,通过域名访问你的网站,你的php站点将工作。
如果步骤按预期工作,这将是最后一步。
<VirtualHost *:80>
ServerName your.net.site.domain.com
ProxyPreserveHost On
ProxyPass "/" "http://127.0.0.1:8080/"
ProxyPassReverse "/" "http://127.0.0.1:8080/"
ErrorLog "logs/domain1-error.log"
CustomLog "logs/domain1-access.log" common
</VirtualHost>
现在它应该像你期望的那样工作。
答案 1 :(得分:0)
使用
反向代理方法
什么是反向代理方法
请参阅NGINX Documentation以了解有关反向代理的更多信息。
您可以在 IIS 或 Apache (Xampp)服务器上使用反向代理。但是,由于您有Windows Server,我建议您在IIS服务器上执行反向代理。