千家信息网

nginx使用ssl模块配置支持HTTPS访问的方法

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译nginx时指定-with-http_ssl_module参数.需求:做一个网站域名为 www.localhost.cn 要求通过https
千家信息网最后更新 2026年11月02日nginx使用ssl模块配置支持HTTPS访问的方法

默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译nginx时指定-with-http_ssl_module参数.

需求:

做一个网站域名为 www.localhost.cn 要求通过https://www.localhost.cn进行访问.

10.10.100.8 www.localhost.cn

实验步骤:

1.首先确保机器上安装了openssl和openssl-devel

#yum install openssl#yum install openssl-devel 

2.创建服务器私钥,命令会让你输入一个口令:

openssl genrsa -des3 -out server.key 1024 //生成私钥 #因为以后要给nginx使用.每次reload nginx配置时候都要你验证这个PAM密码的.由于生成时候必须输入密码,你可以输入后 再删掉。 

3.创建签名请求的证书(CSR):

openssl req -new -key server.key -out server.csr //生成证书颁发机构,用于颁发公钥 

4.在加载SSL支持的Nginx并使用上述私钥时除去必须的口令:

cp server.key server.key.orgopenssl rsa -in server.key.org -out server.key  //除去密码以便reload询问时不需要密码 

5.配置nginx

最后标记证书使用上述私钥和CSR:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 

6.修改Nginx配置文件,让其包含新标记的证书和私钥:

#vim /usr/local/nginx/conf/nginx.conf http {   include server/*.cn;} 

7.修改Nginx配置文件,让其包含新标记的证书和私钥:

#vim /usr/local/nginx/server/www.localhost.cnserver {   listen  443;                  //监听端口为443   server_name www.localhost.cn;    ssl     on;            //开启ssl   ssl_certificate  /etc/pki/tls/certs/server.crt;  //证书位置   ssl_certificate_key /etc/pki/tls/certs/server.key;  //私钥位置   ssl_session_timeout 5m;   ssl_protocols SSLv2 SSLv3 TLSv1;       //指定密码为openssl支持的格式   ssl_ciphers HIGH:!aNULL:!MD5;    //密码加密方式   ssl_prefer_server_ciphers on;    //依赖SSLv3和TLSv1协议的服务器密码将优先于客户端密码    location / {    root html;      //根目录的相对位置    index index.html index.htm;   }  } 

8.启动nginx服务器.

#/usr/local/nginx/sbin/nginx -s reload //如果环境允许的话直接杀掉进程在启动nginx 

如果出现"[emerg] 10464#0: unknown directive "ssl" in /usr/local/nginx-0.6.32/conf/nginx.conf:74"则说明没有将ssl模块编译进nginx,在configure的时候加上"--with-http_ssl_module"即可

如:[root@localhost nginx-1.4.4]# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module

9.测试网站是否能够通过https访问

https://www.localhost.cn

另外还可以加入如下代码实现80端口重定向到443

server {listen 80;server_name www.localhost.cn;#rewrite ^(.*) https://$server_name$1 permanent;rewrite ^(.*)$ https://$host$1 permanent;} 

过以下配置,可以设置一个虚拟主机同时支持HTTP和HTTPS

listen 80;listen 443 default ssl; 

同时支持80和443同时访问配置:

server { listen  80 default backlog=2048; listen  443 ssl; server_name www.localhost.com;  #ssl on; //注释掉 ssl_certificate /usr/local/https/www.localhost.com.crt; ssl_certificate_key /usr/local/https/www.localhost.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL; ssl_prefer_server_ciphers on; 

Nginx 设置忽略favicon.ico文件的404错误日志(关闭favicon.ico不存在时记录日志)

在 server { … }内添加如下信息.

location = /favicon.ico {log_not_found off;access_log off;} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

密码 配置 证书 支持 模块 位置 同时 文件 时候 服务器 标记 服务 生成 输入 口令 日志 网站 编译 主机 代码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 西安纸贵互联网科技有限公司 互联网科技行业发展 互联网科技开发公司 万易互联网科技 广西互联网科技公司 互联网科技公司有哪些 联恩商钥互联网科技有限公司 玖二柒互联网科技公司待遇 移动互联网科技股 栖莱科技互联网股份有限公司 哈尔滨屹滨互联网科技有限公司 米聚互联网科技南京有限公司排面 每天都有哪些好的互联网科技 银川新华互联网科技学校原画 深圳互联网科技园地址 北京品多多互联网科技有限公司 数字科技和互联网金融哪个好 恒生互联网科技趋势 瑞安市蟠桃会互联网科技有限公司 科技发展第三阶段互联网时代 上海挚品互联网科技有限公司 广州大一互联网络科技有限公司 科技创新互联网企业 以后互联网后是啥科技 互联网对科技的发展 工业互联网科技成果转化 信承诺互联网科技有限公司 互联网高科技行业有哪些企业 现代互联网科技公司 六子台科技互联网展会
0