Apache重定向到另一个端口
我已经为此挣扎了一段时间,肯定是做错了什么 我在同一台机器上有apache服务器和JBoss服务器。我想将mydomain.com的流量重定向到JBoss localhost:8080/example。当前正在为mydomain.com设置DNS,当输入浏览器时,它将直接进入端口80 我的问题是,当某个域名进入apache(在本例中为“mydomain.com”)时,如何重定向到其他端口Apache重定向到另一个端口,apache,redirect,Apache,Redirect,我已经为此挣扎了一段时间,肯定是做错了什么 我在同一台机器上有apache服务器和JBoss服务器。我想将mydomain.com的流量重定向到JBoss localhost:8080/example。当前正在为mydomain.com设置DNS,当输入浏览器时,它将直接进入端口80 我的问题是,当某个域名进入apache(在本例中为“mydomain.com”)时,如何重定向到其他端口 代理主机 代理请求关闭 ServerName mydomain.com ProxyPasshttp://m
代理主机
代理请求关闭
ServerName mydomain.com
ProxyPasshttp://mydomain.com http://localhost:8080/example
ProxyPassReversehttp://mydomain.com http://localhost:8080/example
更新了建议
-仍然没有转发到端口8080
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName mydomain.com
ServerAlias www.mydomain.com
ProxyPass http://mydomain.com http://localhost:8080/example
ProxyPassReverse http://mydomain.com http://localhost:8080/example
</VirtualHost>
代理主机
代理请求关闭
ServerName mydomain.com
ServerAlias www.mydomain.com
ProxyPasshttp://mydomain.com http://localhost:8080/example
ProxyPassReversehttp://mydomain.com http://localhost:8080/example
如果您不必使用JBoss和mydomain.com的代理:8080可以“公开”给世界,那么我会这样做
<VirtualHost *:80>
ServerName mydomain.com
Redirect 301 / http://mydomain.com:8080/
</VirtualHost>
ServerName mydomain.com
重定向301/http://mydomain.com:8080/
Apache支持基于名称和基于IP的虚拟主机。看起来您两个都在使用,这可能不是您所需要的
我认为您实际上正在尝试设置,因此不需要指定IP地址
尝试服务器别名www.mydomain.com
添加到配置中ProxyPassMatch^(.*)$http://localhost:8080/example$1
,以防止mod_dir和尾部斜杠出现错误您应该省略域
http://example.com
在ProxyPass和ProxyPass中反转,并将其保留为/
。此外,您需要将/
示例/末尾的/
保留到重定向的位置。另外,我在http://example.com
vs.http://www.example.com
-在我创建ServerName www.example.com和ServerAlias example.com之前,只有www工作。试一试下面这句话
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName www.example.com
ServerAlias example.com
ProxyPass / http://localhost:8080/example/
ProxyPassReverse / http://localhost:8080/example/
</VirtualHost>
我用以下代码解决了这个问题:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName myhost.com
ServerAlias ww.myhost.com
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>
我想这样做,这样我就可以从根域访问Jenkins 我发现我必须禁用默认站点才能使其正常工作。这就是我所做的
$ sudo vi /etc/apache2/sites-available/jenkins
并将其插入文件:
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName mydomain.com
ServerAlias mydomain
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
</VirtualHost>
希望它能帮助别人。在apache配置中使用反向代理即可(直接):
这可能是个老问题,但以下是我所做的: 在apache加载的.conf文件中:
<VirtualHost *:80>
ServerName something.com
ProxyPass / http://localhost:8080/
</VirtualHost>
通过反复试验发现了这一点。如果您的配置指定了一个服务器名,那么VirtualHost指令也需要这样做。在下面的示例中,awesome.example.com和mazing.example.com都将被转发到某个在端口4567上运行的本地服务
ServerName example.com:80
<VirtualHost example.com:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName awesome.example.com
ServerAlias amazing.example.com
ProxyPass / http://localhost:4567/
ProxyPassReverse / http://localhost:4567/
</VirtualHost>
ServerName-example.com:80
代理主机
代理请求关闭
ServerName awesome.example.com
ServerAlias.example.com
ProxyPass/http://localhost:4567/
ProxyPassReverse/http://localhost:4567/
我知道这并不能完全回答这个问题,但我把它放在这里是因为这是Apache端口转发的顶级搜索结果。因此,我认为有一天它会帮助某些人。您必须确保在服务器上启用了代理。可以使用以下命令执行此操作:
a2enmod proxy
a2enmod proxy_http
service apache2 restart
所有这些都是通过虚拟服务器上的域名访问端口的优秀见解。但是,不要忘记启用虚拟服务器;这可能会被注释掉:
NameVirtualHost *:80
<Directory "/home/dawba/www/">
allow from all
</Directory>
NameVirtualHost*:80
通融
我们在域sxxx.com上使用Apache服务器运行WSGI,在端口6800上使用golang服务器运行WSGI。有些防火墙似乎用端口阻止域名。这就是我们的解决方案:
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName wsgi.sxxxx.com
DocumentRoot "/home/dxxxx/www"
<Directory "/home/dxxx/www">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ScriptAlias /py/ "/home/dxxxx/www/py/"
WSGIScriptAlias /wsgiprog /home/dxxxx/www/wsgiprog/Form/Start.wsgi
</VirtualHost>
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName sxxxx.com
ServerAlias www.sxxxx.com
ProxyPass / http://localhost:6800/
ProxyPassReverse / http://localhost:6800/
</VirtualHost>
代理主机
代理请求关闭
服务器名wsgi.sxxx.com
DocumentRoot“/home/dxxx/www”
选项索引跟随符号链接
不允许超限
命令允许,拒绝
通融
ScriptAlias/py/“/home/dxxx/www/py/”
WSGIScriptAlias/wsgiprog/home/dxxx/www/wsgiprog/Form/Start.wsgi
代理主机
代理请求关闭
服务器名sxxx.com
ServerAlias www.sxxx.com
ProxyPass/http://localhost:6800/
ProxyPassReverse/http://localhost:6800/
我的apache监听两个不同的端口
Listen 8080
Listen 80
当我想要一个透明的URL并且不将端口放在URL之后时,我使用80
对于不允许本地url的google服务有用吗
但是我使用8080进行内部开发,我使用端口作为“开发环境”的参考,这在ISPConfig中也可以使用。在“网站列表”中进入域,单击“选项”选项卡,添加以下行:
ProxyPass / http://localhost:8181/
ProxyPassReverse / http://localhost:8181/
然后转到网站和wolaa:)这也是有效的HTTPS协议。试试这个-
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName www.adminbackend.example.com
ServerAlias adminbackend.example.com
ProxyPass / http://localhost:6000/
ProxyPassReverse / http://localhost:6000/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
代理主机
代理请求关闭
服务器名www.adminbackend.example.com
ServerAlias adminbackend.example.com
ProxyPass/http://localhost:6000/
ProxyPassReverse/http://localhost:6000/
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
看起来不错。你的症状是什么?症状是我将www.mydomain.com放在浏览器中,但它会转到apache根目录。相反,我希望它重定向到jboss子目录localhost:8080/subdr。我目前正在将各个域直接重定向到端口80,但无法使其转到另一个端口。我有完全相同的请求:你找到解决方案了吗?@Cystack-我无法使其正常工作。我
a2enmod proxy
a2enmod proxy_http
service apache2 restart
NameVirtualHost *:80
<Directory "/home/dawba/www/">
allow from all
</Directory>
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName wsgi.sxxxx.com
DocumentRoot "/home/dxxxx/www"
<Directory "/home/dxxx/www">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ScriptAlias /py/ "/home/dxxxx/www/py/"
WSGIScriptAlias /wsgiprog /home/dxxxx/www/wsgiprog/Form/Start.wsgi
</VirtualHost>
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName sxxxx.com
ServerAlias www.sxxxx.com
ProxyPass / http://localhost:6800/
ProxyPassReverse / http://localhost:6800/
</VirtualHost>
Listen 8080
Listen 80
ProxyPass / http://localhost:8181/
ProxyPassReverse / http://localhost:8181/
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ServerName www.adminbackend.example.com
ServerAlias adminbackend.example.com
ProxyPass / http://localhost:6000/
ProxyPassReverse / http://localhost:6000/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>