Nginx配置HTTPS和IPV6(保姆级教程)

Nginx配置HTTPS和IPV6(保姆级教程)

教程背景:负责的后台系统要求由原来的http访问升级成https加密访问

一、Nginx的安装

地址:https://nginx.org/en/download.html

1705920473518

  • 选择相关版本的安装包下载到本地文件夹中,通过远程工具上传到服务器空间

  • 解压安装包,进入解压后的Nginx安装包目录

    tar -zxvf nginx-1.21.2.tar.gz

    cd nginx-1.21.2

  • 安装nginx “/data/nginx” 为安装路径 ,这里与nginx安装包路径区分开来,可以将安装路径替换成自定义路径

    ./configure --prefix=/data/nginx

    make&&make install

  • 进入nginx安装目录下的sbin文件夹下,输入命令检查nginx是否安装成功

    ./nginx -V

1705971828820

出现nginx版本信息即为安装成功

  • 启动nginx,通过浏览器访问您的服务器的IP地址或域名来验证Nginx是否正常工作

    ./nginx

    img

二、Nginx的相关配置

1. 配置https与ipv6

写在前面:配置https需要nginx拥有ssl模块,配置ipv6需要nginx拥有支持ipv6的模块,一般来说默认安装的Nginx是不含这两个模块的,在配置https和ipv6前需要检查相关模块的安装情况,如果出现 (configure arguments: --with-http_ssl_module --with-ipv6), 则已安装(下面的步骤可以跳过)

./nginx -V

1705973073456

(1)安装ssl模块与ipv6模块

写在前面:安装ssl模块的前提是nginx已经安装完成,并且可以通过http可以正常访问,如果您的Nginx没有安装完成,在第一部分教程中安装Nginx时添如下参数,其余步骤如上所示,一步到位即可

./configure --prefix=/data/nginx --with-http_stub_status_module --with-http_ssl_module --with-ipv6

如果Nginx已经安装完成,打算添加上述两个模块,那么可以按照下面的步骤进行安装配置

  • 进入nginx安装包解压后的目录('/data/nginx-1.21.2')下,这里不是原nginx安装目录('/data/nginx')

./configure --prefix=/data/nginx --with-http_stub_status_module --with-http_ssl_module --with-ipv6

切记!!!不要执行make install,否则会重新安装nginx

make

  • 上述操作执行完成以后,你的目录下会出现objs文件夹,文件夹内存在nginx文件,如图:

image-20201202092633829

  • 将原安装目录下sbin文件夹下的nginx文件备份后,替换成上述文件夹内的nginx文件

./data/nginx/sbin/nginx -s stop

cp -r /data/nginx-1.21.2/objs/nginx /data/nginx/sbin/nginx

  • 成功之后,进入到nginx安装目录下,查看相关模块信息

1706082496815

如上所示,ipv6模块和ssl模块都已经添加完毕,为下面配置https和ipv6做好准备。

(2) 生成ssl证书

写在前面:ssl证书可以从阿里购买或者免费申请一年,这里我介绍的的是第二种方法,利用openssl生成自签名证书

  • 操作准备,检查是否已安装openssl

opnessl version

1706083470004

  • 创建ssl证书存放目录,如 /data/nginx/ssl,并切换至该目录下,输入如下命令:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout nginx.key -out nginx.crt

  • 创建ssl证书过程中会按照流程回答一些问题

1706083758122

  • 在该目录下生成一个2048位的RSA私钥文件(nginx.key)和一个自签名证书文件(nginx.crt)
(3)配置Nginx

写在前面:nginx是一个高性能、轻量级的Web服务器和反向代理服务器,拥有易配置、正反向代理、负载均衡等优点

下面是关于nginx配置https和ipv6中nginx.conf的详细内容

# 设置监听端口,包括IPv6
server {
    listen [::]:80;
    listen [::]:443 ssl;
    server_name localhost;
    
    # SSL证书和私钥的路径
    ssl_certificate  /data/nginx/ssl/nginx.crt;
    ssl_certificate_key /data/nginx/ssl/nginx.key;

    # 配置其他Nginx设置
 
    # 配置反向代理或静态文件服务
    location / {

    }
}

配置完成后,重启nginx

sudo ./nginx -s reload

1706084715043

三、踩坑合集

安装配置教程虽然简单,但是在实际操作过程中会因为软硬件环境的不同而出现各种意想不到的意外

  • https默认端口为443,所以配置https必须保证服务器的443端口可以通过防火墙

    这里大家可能会遇到一种情况:服务器防火墙没有开,443端口却访问不了

    参考博客:http://t.csdnimg.cn/Xqoh1

  • Nginx和Openssl的版本会存在是否适配的问题

43,所以配置https必须保证服务器的443端口可以通过防火墙

这里大家可能会遇到一种情况:服务器防火墙没有开,443端口却访问不了

参考博客:http://t.csdnimg.cn/Xqoh1

  • Nginx和Openssl的版本会存在是否适配的问题

1706085783156

  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx是一款常用的高性能Web服务器和反向代理服务器。下面是关于如何配置Nginx支持HTTPS和图床的解释: 1. HTTPS配置: 要配置Nginx支持HTTPS,您需要确保在服务器上安装了SSL证书。您可以通过订购并获得来自可信的SSL证书提供商的证书,并将其安装到服务器上。 一旦您获得了SSL证书,您可以按照以下步骤配置Nginx支持HTTPS: - 在Nginx配置文件中找到您想要启用HTTPS的服务器块。 - 添加以下代码段到您的服务器块中: ``` listen 443 ssl; ssl_certificate /path/to/your/certificate.crt; ssl_certificate_key /path/to/your/private.key; ``` 这些代码告诉Nginx在443端口上监听HTTPS连接,并使用您提供的SSL证书和私钥来进行加密。 - 保存并重新启动Nginx服务: ``` sudo service nginx restart ``` 2. 图床配置: 如果您想将Nginx用作图床,即用于存储和提供图像文件,您可以通过以下步骤来配置Nginx: - 在Nginx配置文件中找到您希望用作图床的服务器块。 - 向服务器块中添加以下代码段: ``` location /path/to/images/ { alias /your/image/directory/; autoindex on; } ``` 这些代码告诉Nginx当收到请求访问/path/to/images/路径时,将从/your/image/directory/目录中提供相应的图像文件。 - 重新启动Nginx服务: ``` sudo service nginx restart ``` 这样,您就可以通过访问服务器上的URL路径来访问和使用您的图床。 请注意,以上只是基本的配置示例,您可以根据您的需求进行更详细和定制的Nginx配置

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值