Linux服务之nginx服务篇四(配置https协议访问)
一、配置nginx支持https协议访问
编译安装nginx的时候需要添加相应的模块--with-http_ssl_module和--with-http_gzip_static_module(可通过/usr/local/nginx/sbin/nginx -V来查看nginx编译参数)
(yum安装不需要)
二、防火墙开启https协议默认端口443
1、vi /etc/sysconfig/iptables #编辑防火墙配置文件,添加以下代码:
1 2 3 | -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT :wq! #保存退出 service iptables restart #重启防火墙 |
2、或者使用firewall-cmd添加防火墙规则
1 2 | firewall-cmd --add-port=443 /tcp firewall-cmd --add-port=443 /tcp --permanent |
三、创建https证书
确保机器上安装了OpenSSL和openssl-devel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | yum install openssl openssl-devel #CentOS使用yum命令安装 mkdir /etc/nginx/ssl #创建证书存放目录 cd /etc/nginx/ssl #进入目录 创建服务器私钥: openssl genrsa -des3 -out server.key 1024 #根据提示输入证书口令(ryz123) 创建签名请求的证书(CSR): openssl req -new -key server.key -out server.csr #输入上面设置的口令(ryz123) #根据提示输入相应的信息 Country Name (2 letter code) [XX]:cn #国家 State or Province Name (full name) []:shanxi #省份 Locality Name (eg, city) [Default City]:taiyuan #城市 Organization Name (eg, company) [Default Company Ltd]:3344 #公司 Organizational Unit Name (eg, section) []:yunwei #部门 Common Name (eg, your name or your server's hostname ) []:3344 #主机名称 Email Address []:[email protected] #邮箱 Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:123456 #证书请求密钥,CA读取证书的时候需要输入密码 An optional company name []:3344 #公司名称,CA读取证书的时候需要输入密码 openssl rsa - in server.key -out server_nopassword.key #对key进行解密 openssl x509 -req -days 365 - in server.csr -signkey server_nopassword.key -out server.crt #标记证书使用上述私钥(ryz123)和CSR [root@s2 ssl] # ls server.crt server.csr server.key server_nopassword.key [root@s2 ssl] # pwd /etc/nginx/ssl |
四、修改nginx的配置文件,网站添加安全验证(https)
server { listen 80; server_name www.3344.com; location / { rewrite ^(.*)$ https://$host$1 permanent; #把http协议重定向到https上面 } } server { listen 443 ssl; server_name www.3344.com; ssl_certificate "/etc/nginx/ssl/server.crt"; ssl_certificate_key "/etc/nginx/ssl/server_nopassword.key";
fastcgi_param HTTPS $https if_not_empty; #有https协议时自动使用https,否则忽略这个参数。 root /var/www/html; }
Linux下nginx配置https协议访问如上。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)