Nov
27
最近在一台生产服务器上部署一个应用,因为原来的web服务器是使用apache,为了不影响原来的应用,所以新的服务也使用apache来运行。
<VirtualHost *:80>
ServerName myweb.com
AllowEncodedSlashes on # 确定是否允许通过 URL 中的编码路径分隔符
<IfModule proxy_module>
ProxyPreserveHost On # 使用传入的主机 HTTP 请求 Headers 进行代理请求
ProxyRequests Off # 启用转发(标准)代理请求
ProxyPass "/" "http://localhost:9000/" nocanon # 将远程服务器 Map 到本地服务器 URL 空间
ProxyPassReverse "/" "http://localhost:9000/" nocanon # 调整从反向代理服务器发送的 HTTP 响应 Headers 中的 URL
</IfModule>
# 转发websocket
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
RewriteRule .* ws://localhost:15674%{REQUEST_URI} [P]
</VirtualHost>
nocanon 是指原样转发
https://httpd.apache.org/docs/2.4/mod/core.html#allowencodedslashes
<VirtualHost *:80>
ServerName myweb.com
AllowEncodedSlashes on # 确定是否允许通过 URL 中的编码路径分隔符
<IfModule proxy_module>
ProxyPreserveHost On # 使用传入的主机 HTTP 请求 Headers 进行代理请求
ProxyRequests Off # 启用转发(标准)代理请求
ProxyPass "/" "http://localhost:9000/" nocanon # 将远程服务器 Map 到本地服务器 URL 空间
ProxyPassReverse "/" "http://localhost:9000/" nocanon # 调整从反向代理服务器发送的 HTTP 响应 Headers 中的 URL
</IfModule>
# 转发websocket
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
RewriteRule .* ws://localhost:15674%{REQUEST_URI} [P]
</VirtualHost>
nocanon 是指原样转发
https://httpd.apache.org/docs/2.4/mod/core.html#allowencodedslashes