Share your repls and programming experiences

← Back to all posts
Redirect to https in Node.js
amasad (2269)

If you want to make sure your replit site only serves https you can use this middleware.

Commentshotnewtop
AllAwesome497 (354)

I made a version of this that works in flask, here it is:

@app.before_request
def force_https():
	if 'X-Forwarded-Proto' in request.headers:
		if request.headers['X-Forwarded-Proto'] == 'http':
			return redirect(request.url.replace('http://', 'https://'))```
AdCharity (1243)

wait how does this work with pre-existing middleware (because I have a middleware that checks a JSON file to see if the file is "locked"). I'm concerned that I'll get a "you can't change headers after they've been sent" error, but I'll try it first :P

Edit: works fine but I had to go about some minor changes

MrEconomical (2124)

I always put a script in the client-side to do that lol

nithilan4 (234)

@MrEconomical

if (window.location.protocol == "http:") 
window.location.protocol = "https:";

lmao

nithilan4 (234)

@TaylorLiang surprisingly yes but only for things like replit that can be http or https

MrEconomical (2124)

@TaylorLiang yes - I use

<script>window.location.href.match("https")||(window.location.href=window.location.href.replace("http","https"));</script>
Coder100 (1994)

mmmm time to make a package to do that

JadenGarcia (34)

What if I just did this?

if(/^http:\/\//.test(location.href))
location.href = location.href.replace(/^http:\/\//, "https://");

btw, check out https://FOS.StudentFires.repl.co