Nginx从搭建到配置支持HTTPS的方法
安装
基础包
ububtu apt-getinstallbuild-essential apt-getinstalllibtool centos yum-yinstallgccautomakeautoconflibtoolmake yuminstallgccgcc-c++
进入安装目录
cd/usr/local/src
安装PCRE支持正则表达使Nginx支持Rewrite功能
wgetftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.42.tar.gz tar-zxvfpcre-8.42.tar.gz cdpcre-8.42 ./configure make makeinstall
安装zlib支持数据压缩
wgethttp://zlib.net/zlib-1.2.11.tar.gz tar-zxvfzlib-1.2.11.tar.gz cdzlib-1.2.11 ./configure make makeinstall
安装openssl支持https
wgethttps://www.openssl.org/source/openssl-1.1.1-pre7.tar.gz tar-zxvfopenssl-1.1.1-pre7.tar.gz cdopenssl-1.1.1-pre7 ./configure make makeinstall
Nginx
wgethttp://nginx.org/download/nginx-1.14.0.tar.gz tar-zxvfnginx-1.14.0.tar.gz cdnginx-1.14.0 ./configure--prefix=/usr/local/nginx--with-http_stub_status_module--with-http_ssl_module make makeinstall
配置
配置文件地址
/usr/local/nginx/conf/nginx.conf
使用
命令
/usr/local/nginx/sbin/nginx#启动Nginx /usr/local/nginx/sbin/nginx-t#检查Nginx配置文件正确性 /usr/local/nginx/sbin/nginx-sreload#重新载入配置文件 /usr/local/nginx/sbin/nginx-sreopen#重启Nginx /usr/local/nginx/sbin/nginx-sstop#停止Nginx
进程关闭
#查看进程号 ps-ef|grepnginx #正常退出 kill-QUIT进程号 #快速停止 kill-TERM进程号 kill-INT进程号 #强制退出 kill-KILLnginx 生成cer证书支持https 生成cer证书 #进入存放证书的目录 /usr/local/nginx/conf/ssl #创建服务器证书密钥文件server.key私钥 opensslgenrsa-des3-outserver.key1024 #输入密码,确认密码,后面会使用 #创建签名请求的证书(CSR) opensslreq-new-keyserver.key-outserver.csr #输出内容为: #Enterpassphraseforroot.key:←输入前面创建的密码 #CountryName(2lettercode)[AU]:CN←国家代号,中国输入CN #StateorProvinceName(fullname)[Some-State]:BeiJing←省的全名,拼音 #LocalityName(eg,city)[]:BeiJing←市的全名,拼音 #OrganizationName(eg,company)[InternetWidgitsPtyLtd]:MyCompanyCorp.←公司英文名 #OrganizationalUnitName(eg,section)[]:←可以不输入 #CommonName(eg,YOURname)[]:←此时不输入 #EmailAddress[]:admin@mycompany.com←电子邮箱,可随意填 #Pleaseenterthefollowing‘extra'attributes #tobesentwithyourcertificaterequest #Achallengepassword[]:←可以不输入 #Anoptionalcompanyname[]:←可以不输入 #备份服务器密钥文件 cpserver.keyserver.key.org #去除文件口令,生成公钥 opensslrsa-inserver.key.org-outserver.key #Enterpassphraseforserver.key.org:←输入前面创建的密码 #生成证书文件server.crt opensslx509-req-days365-inserver.csr-signkeyserver.key-outserver.crt
配置https
#/usr/local/nginx/conf/nginx.conf # #HTTPSserverconfiguration # server{ listen443ssl;#ssl端口 server_namewww.xingkongbj.comxingkongbj.com;#域名 sslon;#开启ssl ssl_certificatessl/server.crt; ssl_certificate_keyssl/server.key; ssl_session_timeout5m; #ssl_protocolsSSLv2SSLv3TLSv1; #ssl_ciphersALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; #ssl_prefer_server_cipherson; location/{ proxy_redirectoff;#禁止跳转 proxy_set_headerHost$host; proxy_set_headerX-Real-IP$remote_addr; proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for; proxy_passhttp://98.142.138.177/; } } #nginx:[emerg]the"ssl"parameterrequiresngx_http_ssl_modulein/usr/local/nginx/conf/nginx.conf #原因是nginx缺少http_ssl_module模块,编译安装时带上--with-http_ssl_module配置就可以了 #切换到nginx源码包 cdcd/usr/local/src/nginx-1.14.0/ #查看ngixn原有的模块 /usr/local/nginx/sbin/nginx-V #重新配置 ./configure--prefix=/usr/local/nginx--with-http_stub_status_module--with-http_ssl_module #重新编译,不需要makeinstall安装。否则会覆盖 make #备份原有已经安装好的nginx cp/usr/local/nginx/sbin/nginx/usr/local/nginx/sbin/nginx.bak cp/usr/local/nginx/conf/nginx.conf/usr/local/nginx.conf #将刚刚编译好的nginx覆盖掉原来的nginx(ngixn必须停止) cp./objs/nginx/usr/local/nginx/sbin/ #这时,会提示是否覆盖,请输入yes,直接回车默认不覆盖 #启动nginx,查看nginx模块,发现已经添加 /usr/local/nginx/sbin/nginx-V /usr/local/nginx/sbin/nginx-t /usr/local/nginx/sbin/nginx
总结
以上所述是小编给大家介绍的Nginx从搭建到配置支持HTTPS的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!