Nginx部署https网站

本文介绍在centos6.9环境中,利用Nginx部署https网站并配置地址重写的方法。包括环境准备,如关闭防火墙、安装依赖包、创建nginx用户;将启动程序做链接,启动服务并测试;使用openssl生成证书,修改nginx配置文件;最后进行访问验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nginx是一款高性能的网站服务器和反向代理服务器,同时也是一个IMAP、POP3、SMTP等邮件代理服务器;nginx可以作为一个网站服务器进行网站的发布处理,另外nginx可以作为反向代理实现负载均衡的。本文介绍如何在centos6.9环境中,利用Nginx部署https网站,并配置地址重写。

1.环境准备:centos7.0主机一台,关闭防火墙和Selinux

安装依赖包:yum -y install openssl-devel  pcre-devel gcc

创建nginx用户:useradd -M -s /sbin/nologin nginx   #不为Nginx用户创建家目录,没有可交互的shell

tar -xf  nginx-1.8.0.tar.gz

cd nginx-1.8.0

./configure  --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module 

 --with-http_ssl_module

(--with-http_ssl_module指定安装安全模块,部署https网站时必须要安装,/usr/local/nginx目录不需要事先创建)

make && make install

 

2.将启动程序做链接放到/usr/sbin/路径下:

ln -s /usr/local/nginx/sbin/nginx   /usr/sbin/

nginx命令:

nginx                # 启动服务 

nginx -s stop     #关闭服务

nginx -s reload   #重新加载配置文件

nginx -t         #测试配置文件

nginx -v             #查看版本信息

nginx -V             #查看编译选项

启动服务:nginx

 

通过IP测试网站是否可以正常访问,出现如下页面说明网站配置成功(此时只有一个默认http网页):

3.使用openssl生成证书,配置https网站:

cd /usr/local/nginx/conf

openssl genrsa -out my.key                              #生成rsa算法的私钥

openssl req -new -x509 -key my.key -out my.crt   #生成子签名证书,相当于公钥

 

 

修改nginx配置文件,指定证书所在的位置:

vim /usr/local/nginx/conf/nginx.conf

... ...

server {

   listen  443 ssl;

   server_name  www.test.com;

   ssl_certificate  my.crt;             #指定证书位置,默认在当前目录寻找

   ssl_certificate_key  my.key;     #指定私钥位置

   location / { 

      root   /var/www/html;           #指定网页文件根路径,与http网站路径分开,便于区分

      index  index.html;

        }

}

修改完成后重加加载配置文件:

nginx -s reload

mkdir -p /var/www/html

echo "ssl test" >/var/www/html/index.html

 

4.进行访问验证:

http访问效果如下:

https访问效果如下:

 

 

### 配置 Nginx 在 Windows 环境下支持 HTTPS 要在 Windows 系统上使用 Nginx 部署 HTTPS 网站,需要完成以下几个方面的设置: #### 1. **安装并启动 Nginx** 确保已正确安装 Nginx 并能够正常运行。可以通过进入 `C:\nginx` 目录(假设此为安装路径),双击 `nginx.exe` 文件来启动服务[^3]。验证方法是在浏览器中访问 `http://localhost`,如果显示默认的 Nginx 欢迎页面,则表示安装成功。 --- #### 2. **生成 SSL/TLS 证书** 为了启用 HTTPS 协议,必须准备有效的 SSL/TLS 证书及其私钥文件。这些文件通常由受信任的 CA(Certificate Authority)签发,或者也可以自签名用于测试环境。以下是常见的证书存储路径: - 证书文件路径:`D:/nginx/conf/uat.cer` - 私钥文件路径:`D:/nginx/conf/uat.key` 注意:实际路径应根据具体需求调整[^2]。 --- #### 3. **编辑 Nginx 配置文件 (nginx.conf)** 打开位于 Nginx 安装目录下的 `conf/nginx.conf` 文件,在其中定义一个监听 443 端口的服务块,并指定必要的 SSL 参数。以下是一个典型的配置示例: ```nginx server { listen 443 ssl; server_name yourdomain.com; # 启用 SSL 功能 ssl_certificate D:/nginx/conf/yourdomain.crt; # 替换为您的证书路径 ssl_certificate_key D:/nginx/conf/yourdomain.key; # 替换为您的密钥路径 ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; # 反向代理设置 location / { proxy_pass http://127.0.0.1:8080; # 将请求转发至本地应用服务器 } # 错误页处理 error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } ``` 上述配置实现了以下功能: - 使用 `listen 443 ssl` 来开启 HTTPS 支持。 - 设置了 `ssl_certificate` 和 `ssl_certificate_key` 指定证书与密钥的位置。 - 添加了一个反向代理规则 (`proxy_pass`),将流量导向后台的应用程序实例。 --- #### 4. **保存更改并重启 Nginx** 完成以上修改之后,需重新加载或重启 Nginx 才能使新配置生效。对于 Windows 环境中的 Nginx,执行如下命令即可实现热更新而无需完全停止服务: ```bash nginx.exe -s reload ``` 该操作会通知守护进程平滑切换到新的配置模式而不中断现有连接[^1]。 --- #### 注意事项 - 如果遇到权限不足的情况,请确认当前用户具有足够的权利读取所指明的 `.crt` 和 `.key` 文件。 - 对于生产环境中使用的正式站点而言,建议从权威机构获取合法认证而非自行创建临时凭证。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值