djnago + apache 部署 从 http 强跳 https

个人练手项目 >_< 简单的网站开发

首先当您写好您的django 项目 买好你的服务器 买好你的域名(这里的域名要进行备案.)

1.准备工作

服务器 windows server 2012 r2(虽然我知道用win的服务器很low,但是其他的我也不会啊!)

python 3.7.4 的准备:

apache 准备:

我用的是 mod_wsgi-4.5.24+ap24vc14-cp37- 从下面的网站下载用pip 安装 https://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

2.万事具备

我把我的apache 放到了c盘下

web 是我django 放置的地方 我的文件结构目录

django setting.py 配置

# 好像改的就这么多
DEBUG = False
ALLOWED_HOSTS = ['hahaaa.cn','localhost','127.0.0.1','www.hahaaa.cn'] # '*',

# 确定静态文件路径?_?
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    # os.path.join(os.path.dirname(__file__),'..','static').replace('\\',''),
    os.path.join(BASE_DIR, 'static'),
    # os.path.join('static'),
)

apache 配置

主要配置的文件有 C:\Apache24\conf 文件夹下的 httpd.conf 配置如下 这里并不是完整的文件信息 只是我进行更改的列出来啦

Define SRVROOT "C:/Apache24"
ServerRoot "C:/Apache24"
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule allowmethods_module modules/mod_allowmethods.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule include_module modules/mod_include.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule rewrite_module modules/mod_rewrite.so # https 强转需要的
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule socache_dbm_module modules/mod_socache_dbm.so # https 强转需要的
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so # https 强转需要的
LoadModule ssl_module modules/mod_ssl.so # https 强转需要的
LoadModule vhost_alias_module modules/mod_vhost_alias.so
<IfModule unixd_module>
User daemon
Group daemon
</IfModule>
# 这个是我的邮箱
ServerAdmin py.jz.goto.first@foxmail.com

# 网站发布的端口 只有80端口的才能被收录  这里要在防护墙里加80端口的入站规则
Listen 0.0.0.0:80
ServerName www.hahaaa.cn:80

<Directory />
    AllowOverride All
    Require all denied
</Directory>

DocumentRoot "C:/Apache24/htdocs"
<Directory "C:/Apache24/htdocs">
   Options Indexes FollowSymLinks
   AllowOverride All
   Require all granted
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

<Files ".ht*">
    Require all denied
</Files>

ErrorLog "logs/error.log"
LogLevel warn
<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "logs/access.log" common
    </IfModule>
<IfModule alias_module>
    ScriptAlias /cgi-bin/ "C:/Apache24/cgi-bin/"
</IfModule>
<IfModule cgid_module>
</IfModule>

<Directory "C:/Apache24/cgi-bin">
    AllowOverride All
    Options None
    Require all granted
</Directory>

<IfModule headers_module>
    RequestHeader unset Proxy early
</IfModule>

<IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz 
</IfModule>

#启动 httpd-vhosts.conf 配置域名
Include conf/extra/httpd-vhosts.conf

<IfModule proxy_html_module>
Include conf/extra/proxy-html.conf
</IfModule>
# https 强转需要的 启动 httpd-ssl.conf
Include conf/extra/httpd-ssl.conf
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

# mod_wsgi 链接 在cmd 中输入 mod_wsgi-express module-config 就可以看到相关路径啦
LoadFile "c:/users/administrator/desktop/python/python37.dll"
LoadModule wsgi_module "c:/users/administrator/desktop/python/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win32.pyd"
WSGIPythonHome "c:/users/administrator/desktop/python"

WSGIScriptAlias / "C:/web/ChpHahaa/ChpHahaa/wsgi.py"

# 项目目录
WSGIPythonPath "C:/web/ChpHahaa"
<Directory "C:/web/ChpHahaa/ChpHahaa">
    <Files wsgi.py>
        Require all granted
    </Files>
    # 这里的目的是让全部网页http 强转 https
    RewriteEngine on
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</Directory>

# 静态文件位置
Alias /static "C:/web/ChpHahaa/HLCHP/static"
<Directory "C:/web/ChpHahaa/HLCHP/static">
    AllowOverride None
    Options None
    Require all granted
</Directory>

C:\Apache24\conf\extra\httpd-vhosts.conf

<VirtualHost *:80>
   ServerAdmin py.jz.goto.first@foxmail.com
   DocumentRoot "C:/web/ChpHahaa"
   ServerName localhost
   ServerAlias localhost
   ErrorLog "logs/localhost-error_log"

</VirtualHost>

<VirtualHost *:80>
    ServerAdmin py.jz.goto.first@foxmail.com
    DocumentRoot "C:/web/ChpHahaa/ChpHahaa"
    ServerName hahaaa.cn
    ServerAlias www.hahaaa.cn
    ErrorLog "logs/localhost-error_log"

</VirtualHost>

C:\Apache24\conf\extra\httpd-ssl.conf

ServerName www.hahaaa.cn:443
ServerAdmin py.jz.goto.first@foxmail.com
# 匹配证书 这里上面要是有相同的属性名注释掉
SSLCertificateFile "C:\Apache24\conf\ssl\hahaaa.cn.crt"
SSLCertificateKeyFile "C:\Apache24\conf\ssl\hahaaa.cn.key"
SSLCertificateChainFile "C:\Apache24\conf\ssl\hahaaa.cn_ca.crt"

3.扬帆起航

配置已经配置成功现在进入apache 的bin 文件 启动 ApacheMonitor.exe

启动服务 在网页中输入 hahaaa.cn

启动成功!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342