局域网内服务器的两个端口192.168.0.42上有两个服务。
- 80 - 带博客的 WordPress
- 8080-Java 应用程序(聊天)
域重定向到路由器,该路由器将来自 80 和 443 的流量转发到 LAN 中的 Apache 反向代理专用主机(192.168.0.2)。
我希望 example.com 打开 192.168.0.42:80,example.com/chat 打开 192.168.0.42:8080。目前 example.com 可以完美打开 wordpress,example.com/chat 可以打开应用程序,但应用程序 (192.168.0.42:8080) 中的每个链接都会重定向到 example.com (192.168.0.42:80),图形和样式也不会加载。
代理上的 example.com.conf 文件如下所示:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyHTMLExtended On
<Location /chat>
ProxyPass http://192.168.0.42:8080/
ProxyPassReverse http://192.168.0.42:8080/
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|example.com/|example.com/chat/|i"
</Location>
ProxyPass / http://192.168.0.42:80/
ProxyPassReverse / http://192.168.0.42:80/
ErrorLog ${APACHE_LOG_DIR}/chat-error.log
CustomLog ${APACHE_LOG_DIR}/chat-access.log combined
</VirtualHost>
我知道这个论坛上有很多不同的方式来处理这个话题。我想我检查了大多数解决方案,但没有一个能正确显示 example.com/chat。如果您能建议我还可以尝试什么,我将不胜感激。当然,我并不坚持应该按照我在代码中写的那样去做,如果有人有其他建议,我一定会采纳。很抱歉没有提交帖子,但我使用了翻译器。