NGINX serves crossdomain.xml on port 843, which is required for FF3.6 running em-websocket :secure => true. daemontools run script for websocket uses production environment

This commit is contained in:
zhitomirskiyi 2010-11-16 15:54:34 -08:00
parent c005be99fd
commit 6f72cd7184
5 changed files with 27 additions and 6 deletions

View file

@ -0,0 +1,3 @@
<cross-domain-policy>
<allow-access-from domain="*" to-ports="*" />
</cross-domain-policy>

View file

@ -17,5 +17,7 @@
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
#Websocket
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
#Crossdomain policy file for Flash sockets
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 843 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

View file

@ -17,13 +17,11 @@ config = YAML.load_file("/usr/local/app/diaspora/chef/cookbooks/common/files/def
config.each do |thin|
port = thin["port"]
#socket = "/tmp/thin_#{id}.sock"
dir = "/service/thin_#{port}"
flags = []
flags << "-c /usr/local/app/diaspora" #directory to run from
flags << "-e production" #run in production mode
#flags << "-S #{socket}" #use a socket
flags << "-p #{port}" #use a socket
flags << "-e production" #run in production mode
flags << "-p #{port}" #use a socket
execute "thin run" do
command "mkdir -p #{dir} && echo '#!/bin/sh' > #{dir}/run && echo 'exec /usr/local/bin/ruby /usr/local/bin/thin start #{flags.join(" ")}' >> #{dir}/run"
end
@ -38,7 +36,7 @@ end
#end
execute "websocket run" do
command "mkdir -p /service/websocket && echo '#!/bin/sh' > /service/websocket/run && echo 'cd /usr/local/app/diaspora && exec /usr/local/bin/ruby /usr/local/app/diaspora/script/websocket_server.rb' >> /service/websocket/run"
command "mkdir -p /service/websocket && echo '#!/bin/sh' > /service/websocket/run && echo 'cd /usr/local/app/diaspora && RAILS_ENV=production exec /usr/local/bin/ruby /usr/local/app/diaspora/script/websocket_server.rb' >> /service/websocket/run"
end
execute "executable" do
command "chmod -R 755 /service/websocket"

View file

@ -18,9 +18,12 @@ execute "install nginx" do
command "cd /tmp/install/nginx-0.8.53 && make install"
end
cookbook_file "/usr/local/nginx/html/crossdomain.xml" do
source "crossdomain.xml"
end
config = YAML.load_file("/usr/local/app/diaspora/chef/cookbooks/common/files/default/thins.yml")
template "/usr/local/nginx/conf/nginx.conf" do
source "nginx.conf.erb"
#variables :socket_paths => config.map{|thin| "/tmp/thin_#{thin["socket_id"]}.sock"}
variables :ports => config.map{|thin| "#{thin["port"]}"}
end

View file

@ -37,6 +37,21 @@ http {
<% end %>
}
server {
listen 843;
location / {
rewrite ^(.*)$ /crossdomain.xml;
}
error_page 400 /crossdomain.xml;
location = /crossdomain.xml {
root html;
}
}
server {
listen 80;
server_name alpha.joindiaspora.com www.alpha.joindiaspora.com;