twisted / twisted/twisted

twistd web should offer a --force-https option

Open
#7,623 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement new priority-normal web
Dominant language
Python
Stars
6k
Forks
1.2k
Avg merge
2d 10h
Merged PRs (30d)
10

Description

Alex's avatar Alex reported
Trac ID trac#7623
Type enhancement
Created 2014-09-02 17:47:24Z

This idea is based on: https://github.com/kennethreitz/flask-sslify

Ideally this would be represented as ForceHTTPSResource you could compose around other resources which would redirect to https:// if the resource hadn't been accessed over https:// (needs to recognize X-Forwarded-For in order to work with proxies which terminate TLS).

This can then be automatically used by twistd web with a --force-https option.

Searchable metadata
trac-id__7623 7623
type__enhancement enhancement
reporter__Alex Alex
priority__normal normal
milestone__ 
branch__ 
branch_author__ 
status__new new
resolution__None None
component__web web
keywords__ 
time__1409680044599696 1409680044599696
changetime__1409680044652393 1409680044652393
version__None None
owner__None None
cc__glyph cc__jknight

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the twistd web entry point and the resource composition used by the web component; the issue proposes a ForceHTTPSResource and a --force-https option. Review how requests identify HTTPS behind proxies using X-Forwarded-For. Done means HTTP requests redirect to https:// while HTTPS requests continue normally, including when TLS terminates at a proxy.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.