【发布时间】:2020-07-19 19:53:34
【问题描述】:
嗨,我正在使用 django、nginx 和 uwsgi 编写我自己的服务器 问题是当我访问 https://localhost 时,ssl 工作。 但 https://domainname ,它不会工作。 我的代码有什么问题?
nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
keepalive_timeout 65;
upstream django {
#server 172.30.1.40:8000;
server localhost:8000;
}
server {
server_name fidochallenge486.tk;
listen 8080;
location / {
uwsgi_pass django;
include /usr/local/etc/nginx/uwsgi_params;
proxy_redirect off;
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8000/;
proxy_redirect off;
proxy_http_version 1.1;
}
}
server {
listen 443 ssl;
server_name fidochallenge486.tk;
ssl_certificate /Users/junbeomkwak/Downloads/fidochallenge486.tk/bundle.crt;
ssl_certificate_key /Users/junbeomkwak/Downloads/fidochallenge486.tk/privkey.key;
#ssl_session_cache shared:SSL:1m;
#ssl_session_timeout 5m;
#ssl_ciphers HIGH:!aNULL:!MD5;
#ssl_prefer_server_ciphers on;
location / {
include /usr/local/etc/nginx/uwsgi_params;
uwsgi_pass django;
}
}
}
fido_project.conf
upstream django {
server 172.30.1.40:8000;
}
server {
listen 8080;
server_name domainname;
return 301 https://$host$request_uri;
location / {
uwsgi_pass django;
proxy_pass 172.30.1.40:8000;
}
}
server {
listen 443 ssl;
server_name domainname;
if ($host = domainname') {
return 301 https://domainname$request_uri;
}
ssl_certificate /Users/junbeomkwak/Downloads/fidochallenge486.tk/bundle.crt;
ssl_certificate_key /Users/junbeomkwak/Downloads/fidochallenge486.tk/privkey.pem;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
uwsgi_pass django;
include /usr/local/etc/nginx/uwsgi_params;
#proxy_pass 172.30.1.40:8000; // local
}
}
编辑于 10:55 kst 我编辑了你说的..不工作 需要一些文件吗?比如ini文件什么的..
【问题讨论】:
-
你应该把这个问题告诉你的主办公司