Python 板


LINE

各位大大好,小的只有一个需求, 希望一个放在 AWS 上的 django 网站能走 https。 目前在网路上收集到的方法有两套: 1. Nginx <--> socket <--> uWSGI <--> Django 2. runsslserver 第一种方法我基本的设定是照 http://goo.gl/ZusnCE 走, 先透过 Nginx 跟 uWSGI 看到 http 的网页没问题, 但接着要切到 https 就试不出来了 (哭) 网路上有蛮多教学的,比方说这篇 https://goo.gl/kEh55q 不外乎就是 Nginx 设 port 80 reroute 到 443,  这部份我好像有试出来,在浏览器上直接打 IP 连结会转到 https,  但网站的内容就出不来了... uWSGI 跟 Django 要不要设定则是众说纷云, 看过一种说法是 Nginx 对外走 https,对 uWSGI 走 http, 所以 uWSGI 跟 Django 都不用做任何设定, 我很喜欢这种做法,但目前还没找到这种做法 Nginx 的确切设定是什麽... 另一种说法则复杂许多,Nginx 要抽换掉 proxy header: # nginx.conf location / { proxy_pass http://localhost:8000/; proxy_redirect off; 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; } uWSGI 设定要改成支援 https: # uwsgi.ini env = HTTPS=on Django settings 也要修改: SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https') SESSION_COOKIE_SECURE = True CSRF_COOKIE_SECURE = True SECURE_SSL_REDIRECT = True 这种我也试了,还是无法,找不到问题所在... orz 第二种方法 https://github.com/teddziuba/django-sslserver  的确实我轻易地获得了 https 的连线,但这个 github 专案明明白白写着,  this should not be used for production setups.  This app is intended for special use-cases. Most people should instead do a proper production deplyoment where a real webserver such as Apache or NGINX handles SSL. 搞得我也不敢随意使用这种作法...  想请问... 有没有在这方面有经验的大大能给我一条明路? 附带一提,其实我真正想要的,是透过 javascript 拿到装置 gps 的座标, 但 Chrome 的只允许 https 连线可以用这 API... 如果有方法能绕过这个限制,我也都愿意嚐试, 当然,能把 https 跑起来还是最好了 QwQ -- 喜欢拍照的正妹们,赶快来找我报到吧!!! https://flic.kr/s/aHsk8JbB2C --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 125.227.30.252
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1522486034.A.3FC.html
1F:→ djshen: 内容出不来要不要看一下django有没有收到request 03/31 17:06
2F:→ djshen: 或有没有error? 03/31 17:07
3F:→ archon: 谢谢大大,目前用了 uWSGI 後看不到 django 的行为, 03/31 17:08
4F:→ djshen: 之前有用ELB可以直接设定https 单个instance的设定不太熟 03/31 17:08
5F:→ archon: 我研究一下要怎麽看 uWSGI 後面 project 的 log... @@" 03/31 17:08
6F:→ djshen: port有对? 03/31 17:09
这个问题我其实自己也不确定... 在 Nginx <--> socket <--> uWSGI <--> Django 架构下走 http 会通, 所以我自己觉得 uWSGI <--> Django 之间的设定是 ok 的, 但走 https 後,Nginx 把 http request 转到 port 443, uWSGI 跟 Django 到底需不需要改变设定,这是我还没弄懂的地方... orz
7F:→ archon: 请问... ELB 可以跑 python 3.x 吗? 03/31 17:09
8F:→ djshen: ELB是负载平衡跟後面跑什麽没什麽关系 我问port的原因是 03/31 17:18
ELB 是 AWS Elastic Beanstalk 吗? 之前我疑似看到 EB 很好设 https,但当我打开 AWS 控制台时, 看到的全是 python 2.7,就缩了... (汗
9F:→ djshen: 第一个教学uWSGI跑在8080 第二个SO他设定8000 03/31 17:19
啊啊,抱歉,这是我问题写的不清楚了,那段 8000 是我直接 copy 别人文章中的内容, 我自己 Nginx 设定档的是按照第一个范例下去改成的,内容如下 location / { include uwsgi_params; uwsgi_pass unix:/run/uwsgi/firstsite.sock; # 以下是新增的部份 proxy_redirect off; 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; } 其实这也是我在网路上找解法遇到一个很大的问题, Django 走 https 的教学,感觉大家的 Nginx 都是先处在某个运作情况下, 修改的部份到底能不能适用第一个范例设定的环境,我心中充满了无限的问号 orz
10F:推 Sunal: 我用过nginx转到uwsgi_pass sock file的方式在EC2上 03/31 17:25
11F:推 Sunal: nginx 的conf设定一下关於SSL的部分就好.. 03/31 17:27
12F:→ Sunal: 建议直接看uWSGI的doc 03/31 17:27
14F:→ Sunal: 题外话,不要到处去找解法 直接看官方文件最安全 03/31 17:29
15F:→ Sunal: 轻则是卡在奇怪的地方 重则server被骇也不知道原因 03/31 17:30
谢谢大大的建议~ 之前有翻到这个资源,但可能是我对网路的概念太贫乏了,还是没能把问题解决 orz http://uwsgi-docs.readthedocs.io/en/latest/HTTPS.html 想请问... 依您的经验,要走 https,除了 Nginx 之外, uWSGI 跟 Django project 也都需要做相对应的设定的,是吗?
16F:推 Sunal: BTW 你是有自己买凭证 还是用AWS的SSL方案 03/31 18:18
17F:→ Sunal: 我之前庄是自己有凭证 装好crt&key 只要设定nginx conf就好 03/31 18:18
呃... 我并没有设 SSL 凭证, 想说没凭证只是会跳出这个连线不安全的讯息而已... 会是这个问题吗... (汗 刚才找了一下,发现 AWS 有 SSL 的服务,感谢大大提供了这个讯息, 我彷佛又看到了一条路... 先去试试看!!
18F:→ djshen: 我记得uWSGI可以设定log 还有nginx的log也看看 03/31 19:14
收到!! 大感谢!!!
19F:推 eric541: Nginx 开 443 ,把 request 导到 uwsgi 的 socket file 04/01 11:57
20F:→ eric541: 就好,Django 那边全部都不用设,很简单的 04/01 11:57
21F:→ eric541: 忘记讲 nginx 那边要设一下 443 的 ssl 凭证 04/01 11:58
谢谢大大~ 这样的意思是说 uWSGI 本身预设就能处理 https 的连线了,对吧? 我再研究一下...
22F:→ djshen: socket就跟https没关系了吧 04/02 12:28
感谢各位大大的帮助,我终於把 https 给跑起来了!! 老天,我花了快一个礼拜的时间,才发现防火墙 port 443 没开... 担误诸位大大宝贵的时间,真的是非常的抱歉... (跪 QwQ ※ 编辑: archon (125.227.30.252), 04/09/2018 16:36:17







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP