Binding to HTTP and HTTPS simultaneously

Asked by James Broberg

Is it possible for Swift to listen on two ports simultaneously?

For instance, I'd like Swift to use SSL and run on port 443, causing all interactions with Swift users (create, read, update, delete) to occur over SSL.

However it would also be handy for Swift to simultaneously listen/serve on port 80 via plain HTTP, for instance to allow consumption of public containers and content. Is this feasible now or in the future?

Question information

Language:
English Edit question
Status:
Answered
For:
OpenStack Object Storage (swift) Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Mike Barton (redbo) said :
#1

It would be handy! But Swift doesn't do it yet.

This might be a good idea to get on the roadmap for the next release
while we're in that mode.

Revision history for this message
gholt (gholt) said :
#2

There isn't much in the codebase to keep someone from doing this, but it would need a little bit of work to make it nice.

I just copied my /etc/swift/proxy-server.conf to /etc/swift/proxy-server-2.conf, changed the port and other options in the new conf, and started it up directly with:

swift-proxy-server /etc/swift/proxy-server-2.conf &

That works but obviously there is no init.d script for it and no pid file.

I wouldn't think it'd be too hard for someone to patch that kind of support in.

Revision history for this message
James Broberg (james-broberg) said :
#3

Ok - I am glad there is some interest here and it is feasible. Regrettably my python skills are non existent, so what is the best way to get this in front of a developer that might be interested in implementing it? Blueprint or file a bug?

Can you help with this problem?

Provide an answer of your own, or ask James Broberg for more information if necessary.

To post a message you must log in.