2024-09-26 17:57:36 发布
网友
我计划通过信用卡收费销售产品,因此使用SSL对Django驱动的网站至关重要。我对此很天真。
我最初的django安装计划是使用Apache作为web服务器,并使用mod_wsgi与django通信,后者是Apache再次提供服务的静态媒体。在SSL协议出台之前,一切看起来都很好。
我将使用SSL协议对用户帐户配置页面,整个购买顺序,也许在django管理员。
我查过官方文件并用谷歌搜索过,但答案相当混乱。
谢谢
对于通过Google的用户,下面是Nginx的一个配置示例:
server { listen 443 ssl default; server_name example.com; ssl on; ssl_certificate /etc/nginx/server.crt; ssl_certificate_key /etc/nginx/server.key; add_header Cache-Control "public, must-revalidate"; # add_header Cache-Control "no-cache"; expires 1d; add_header Strict-Transport-Security "max-age=2592000; includeSubdomains"; location / { fastcgi_pass localhost:8000; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_pass_request_headers on; # include fastcgi_params; } location /static { root /home/myapp/application; } location = /favicon.ico { root /home/myapp/application/assets; access_log off; log_not_found off; } }
Django不处理SSL。Apache将透明地为您处理这个问题,Django将照常工作。您可以使用request.is_secure()在视图中检查SSL。
request.is_secure()
但是,您必须在适当的地方提供链接作为https url。您还可能希望将某些http页面重定向到https页面(如django管理屏幕)。
我已经使用Apache的mod_ssl和mod_wsgi在SSL上部署了Django应用程序。
mod_ssl
mod_wsgi
我不是Apache专家,但这里是我如何为一个站点设置SSL的(将下面的指令放在httpd.conf文件中,或者放在从该文件引用的文件中,例如放在sites-enabled目录中,如果在Apache安装中使用的话)。有关如何创建和使用自签名证书,请参阅下面的第一个文档链接。
httpd.conf
sites-enabled
NameVirtualHost *:443 <VirtualHost *:443> SSLEngine On SSLCertificateFile /etc/apache2/ssl/certificatefile.crt SSLCertificateKeyFile /etc/apache2/ssl/certificatekeyfile.crt WSGIScriptAlias / /path/to/file.wsgi </VirtualHost>
文档链接:
对于通过Google的用户,下面是Nginx的一个配置示例:
Django不处理SSL。Apache将透明地为您处理这个问题,Django将照常工作。您可以使用
request.is_secure()
在视图中检查SSL。但是,您必须在适当的地方提供链接作为https url。您还可能希望将某些http页面重定向到https页面(如django管理屏幕)。
我已经使用Apache的
mod_ssl
和mod_wsgi
在SSL上部署了Django应用程序。我不是Apache专家,但这里是我如何为一个站点设置SSL的(将下面的指令放在
httpd.conf
文件中,或者放在从该文件引用的文件中,例如放在sites-enabled
目录中,如果在Apache安装中使用的话)。有关如何创建和使用自签名证书,请参阅下面的第一个文档链接。文档链接:
相关问题 更多 >
编程相关推荐