mirror of
https://github.com/codeninjasllc/discourse.git
synced 2024-11-27 09:36:19 -05:00
BUGFIX: attachments bust under multisite
This commit is contained in:
parent
14f7551f2b
commit
3830f41e5f
3 changed files with 26 additions and 16 deletions
|
@ -30,17 +30,21 @@ class UploadsController < ApplicationController
|
|||
end
|
||||
|
||||
def show
|
||||
return render nothing: true, status: 404 unless Discourse.store.internal?
|
||||
RailsMultisite::ConnectionManagement.with_connection(params[:site]) do |db|
|
||||
|
||||
id = params[:id].to_i
|
||||
url = request.fullpath
|
||||
return render nothing: true, status: 404 unless Discourse.store.internal?
|
||||
|
||||
# the "url" parameter is here to prevent people from scanning the uploads using the id
|
||||
upload = Upload.where(id: id, url: url).first
|
||||
id = params[:id].to_i
|
||||
url = request.fullpath
|
||||
|
||||
return render nothing: true, status: 404 unless upload
|
||||
# the "url" parameter is here to prevent people from scanning the uploads using the id
|
||||
upload = Upload.where(id: id, url: url).first
|
||||
|
||||
send_file(Discourse.store.path_for(upload), filename: upload.original_filename)
|
||||
return render nothing: true, status: 404 unless upload
|
||||
|
||||
send_file(Discourse.store.path_for(upload), filename: upload.original_filename)
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -42,6 +42,14 @@ server {
|
|||
# path to discourse's public directory
|
||||
set $public /var/www/discourse/public;
|
||||
|
||||
# prep all possible needed proxy headers
|
||||
# this is critical form multisite
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $thescheme;
|
||||
|
||||
|
||||
location / {
|
||||
root $public;
|
||||
|
||||
|
@ -98,11 +106,6 @@ server {
|
|||
}
|
||||
|
||||
location @discourse {
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $thescheme;
|
||||
|
||||
proxy_pass http://discourse;
|
||||
}
|
||||
|
||||
|
|
|
@ -35,12 +35,15 @@ module RailsMultisite
|
|||
old = current_db
|
||||
connected = ActiveRecord::Base.connection_pool.connected?
|
||||
|
||||
establish_connection(:db => db)
|
||||
establish_connection(:db => db) unless connected && db == old
|
||||
rval = yield db
|
||||
ActiveRecord::Base.connection_handler.clear_active_connections!
|
||||
|
||||
establish_connection(:db => old)
|
||||
ActiveRecord::Base.connection_handler.clear_active_connections! unless connected
|
||||
unless connected && db == old
|
||||
ActiveRecord::Base.connection_handler.clear_active_connections!
|
||||
|
||||
establish_connection(:db => old)
|
||||
ActiveRecord::Base.connection_handler.clear_active_connections! unless connected
|
||||
end
|
||||
|
||||
rval
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue