Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make_project: default to https:// in project URL #3211

Merged
merged 1 commit into from
Sep 20, 2019
Merged

Conversation

davidpanderson
Copy link
Contributor

No description provided.

@marius311
Copy link
Member

Just my 2 cents, but to me it seems like the order most people build a project are 1) build and test project locally 2) make it public and buy domain / set up https. Since running the make project script happens in step 1 before there's https, I think this PR probably complicates things for the typical use case.

@lfield
Copy link
Contributor

lfield commented Jul 8, 2019

I think encouraging people to use https by default is good practice. You can use the lets encrypt Apache module or a self signed certificate.

@adamradocz
Copy link
Member

@marius311 I understand your point, on the other hand creating a script to generate a self-signed certificate for local use is not so hard. It can be developed for your docker project within a couple of minutes.

@davidpanderson
Copy link
Contributor Author

Is it possible for make_project to know whether the host's web server supports HTTPS?

@tristanolive
Copy link
Contributor

I think the script would have to try to access the URL via HTTPS. With the requests library, that might look something like:

import requests
...
options.use_https = False
...
try:
    r = requests.get('https://%s/'%options.project_host, verify=False)
    r.raise_for_status()
    options.use_https = True
except requests.exceptions.HTTPError as e: 
    print("Unable to detect HTTPS support", e)

@Uplinger
Copy link
Contributor

Uplinger commented Sep 20, 2019

After discussion on the Contributors Call, moving forward with guiding others towards using https by default is a positive thing. I have tested this for both http and https implementations. There is an option in the make_project that allows for http to be used still.

--url_base default: https://PROJECT_HOST/

As for checking if https is available wouldn't work since apache might not be set up entirely for the system or apache is disabled temporarily.

For getting a certificate or creating one, you can refer to these two pages for help.
https://hostadvice.com/how-to/configure-apache-with-tls-ssl-certificate-on-ubuntu-18/
and
https://letsencrypt.org/getting-started/

@Uplinger Uplinger merged commit fd7374e into master Sep 20, 2019
@AenBleidd AenBleidd deleted the dpa_make_project branch September 24, 2019 08:24
@mielouk
Copy link

mielouk commented Nov 11, 2019

Thank you for making transport encryption for all projects mandatory. I had an instance where there was a strong suspicion that some malicious entity intervened to hack my computer via unencrypted BOINC traffic. Thx again!

@AenBleidd AenBleidd added this to the Server Release 1.4.1 milestone Aug 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants