小编use*_*590的帖子

Apache proxyPassReverse和Websockets

我一直在研究一个使用websockets的Perl Mojolicious项目.我想在运行apache的共享服务器上启动它,并使用proxyPass和proxyPassReverse使我的Mojolicious代码运行Hypnotoad更漂亮.

我把它设置如下.

Apache网址:

mydomain.com
Run Code Online (Sandbox Code Playgroud)

催眠网址:

mydomain.com:8080
Run Code Online (Sandbox Code Playgroud)

使用以下apache条目,我可以将Hypnotoad服务器反向代理

project.mydomain.com
Run Code Online (Sandbox Code Playgroud)

apache.conf条目

<VirtualHost *:80>
  ServerName project.mydomain.com
  DocumentRoot /var/www/project
  <Directory /var/www/project/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
  </Directory>
  ProxyRequests Off
  ProxyPreserveHost On
  ProxyPass / http://mydomain.com:8080/ keepalive=On
  ProxyPassReverse / http://mydomain.com:8080/
  RequestHeader set X-Forwarded-HTTPS "0"
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

但是当我使用时,我的websocket请求会出现404错误:

ws://project.mydomain.com/get-data
Run Code Online (Sandbox Code Playgroud)

我使用时出现302错误:

ws://mydomain.com:8080/get-data
Run Code Online (Sandbox Code Playgroud)

我想这不会是一个问题,因为websocket没有检查身份验证,但他们使用Mojolicious路由来检查你是否可以通过websocket发布.

从我所看到的Apache不支持反向代理websockets.在apache/httpd conf文件中.

有没有人找到一个可用的解决方案,使用Apache对生产环境稳定?

apache proxypass websocket mojolicious

18
推荐指数
2
解决办法
1万
查看次数

Twig - 插值变量

我有以下内容:

{% if promo.monday_unavailable == 1 %} 
    not available mondays 
{% elseif promo.monday_available == 1%}
    available mondays 
{% else %}
    available mondays from {{promo.monday_start}} until {{promo.monday_end}}
{% endif %}
<br />
{% if promo.tuesday_unavailable == 1 %} 
    not available tuesdays 
{% elseif promo.tuesday_available == 1%}
    available tuesdays 
{% else %}
    available tuesdays from {{promo.tuesday_start}} until {{promo.tuesday_end}}
{% endif %}
<br />
Run Code Online (Sandbox Code Playgroud)

...

我想为一周中的每一天做些什么.

我想知道是否有一种方法可以简化代码阅读

{% for i in ['monday','tuesday','wednesday','thursday','friday','saturday','sunday'] %}

{% if promo.~i~"_unavailable" == 1 %} 
    not available mondays 
{% …
Run Code Online (Sandbox Code Playgroud)

php templating symfony twig

4
推荐指数
2
解决办法
4952
查看次数

标签 统计

apache ×1

mojolicious ×1

php ×1

proxypass ×1

symfony ×1

templating ×1

twig ×1

websocket ×1