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 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
#Websocket #Websocket
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT -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 -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT COMMIT

View file

@ -17,13 +17,11 @@ config = YAML.load_file("/usr/local/app/diaspora/chef/cookbooks/common/files/def
config.each do |thin| config.each do |thin|
port = thin["port"] port = thin["port"]
#socket = "/tmp/thin_#{id}.sock"
dir = "/service/thin_#{port}" dir = "/service/thin_#{port}"
flags = [] flags = []
flags << "-c /usr/local/app/diaspora" #directory to run from flags << "-c /usr/local/app/diaspora" #directory to run from
flags << "-e production" #run in production mode flags << "-e production" #run in production mode
#flags << "-S #{socket}" #use a socket flags << "-p #{port}" #use a socket
flags << "-p #{port}" #use a socket
execute "thin run" do 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" 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 end
@ -38,7 +36,7 @@ end
#end #end
execute "websocket run" do 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 end
execute "executable" do execute "executable" do
command "chmod -R 755 /service/websocket" 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" command "cd /tmp/install/nginx-0.8.53 && make install"
end 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") config = YAML.load_file("/usr/local/app/diaspora/chef/cookbooks/common/files/default/thins.yml")
template "/usr/local/nginx/conf/nginx.conf" do template "/usr/local/nginx/conf/nginx.conf" do
source "nginx.conf.erb" source "nginx.conf.erb"
#variables :socket_paths => config.map{|thin| "/tmp/thin_#{thin["socket_id"]}.sock"}
variables :ports => config.map{|thin| "#{thin["port"]}"} variables :ports => config.map{|thin| "#{thin["port"]}"}
end end

View file

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