Http 转 https 中 Nginx 的详细配置过程

摘要  本节将简要介绍从 HTTP 到 HTTPS 的配置过程,并完整展示 Nginx 的相关配置信息。

       经过两天断断续续的调试,终于将 http 变成 https 了。现在说说这个安装 ssl 证书的过程。

       服务器是在某云上。这个过程大致分为三个步骤:申请 ssl 证书、配置证书、开启并配置端口。   

       第一步是申请 ssl 证书。    

       这个可参考一分钟带你把http项目升级成https,并且打包上线。申请成功下载后,是一个压缩文件,打开后有两个文档;其中一个是 .key文档,一个是 .pem文档。

       第二步上传证书与配置Nginx 

       1. 将它们上传到服务器。

       从本地 Windows 上传到 远程 Ubuntu,可以用 putty。

       首先在Windows下,访问 PuTTY 官方网站,下载  PuTTY 安装包。比如,我下载的是 putty-64bit-0.81-installer.msi。双击下载文件,就开始执行安装。

       安装完后,可以在 Windows 命令提示符下查看版本

pscp -V

如果安装成功,应该会看到类似输出信息(以下是部分内容,并且实际是不含有行号的):

pscp: Release 0.81
Build platform: 64-bit x86 Windows

       安装完成后,则可以将 Windows 中文件上传到 Ubuntu上。例如下面是Windows的命令提示符下的命令,它将 my.key 上传到了 /certificate 目录中。当然,上传前,先在Ubuntu中用mkdir 创建 certificate 目录。 

pscp C:\\Users\\DELL\\Downloads\\my.key user@remotehost:/certificate/

其中 user@remotehost 要换成您的服务器网址。比如,root@123.456.678.1,其中123.456.678.1是您服务器的 ip 地址。

       如果只是需要从 Ubuntu 上传到Ubuntu,建议使用 scp 命令。例如:  

scp /local/path/to/file user@remotehost:/remote/path/to/destination/

       2. 配置 Nginx。

       首先,系统是Ubuntu。这时需要停用Apache(用命令 sudo service apache2 stop),而安装 Nginx(安装过程省略)。因为第一步选证书时,就是选的与 Nginx相关的(好像没有 Apache 选项)。另外,由于网页使用了 Php,所以还需要安装php7.2-fpm(安装过程省略)。最后,也是最重要的,是下面 Nginx 的配置。若配置不好,网页会出现 乱码、404 not found、下载(即不是显示内容,而总是下载网页)、无法访问此网站 等问题。

        Nginx 的配置文件是  /etc/nginx/sites-available/default 。可以用 nano 修改,比如

$ nano  /etc/nginx/sites-available/default

这时就在控制台下打开了 default 文件。修改后用 Ctrl+o 再 回车 保存文档内容,Ctrl+x 是退出。配置好后,是启动,用 sudo systemctl start nginx。重新启动 Nginx 命令是  sudo systemctl restart nginx。停止Nginx 是 sudo systemctl stop nginx。

# /etc/nginx/sites-available/default  文档的内容

server {
    listen 443 ssl;
    server_name www.my.com; #换成您的网址
    charset utf-8; # 设置字符编码为UTF-8
    ssl_certificate /pathl/to/my.pem; #换成您的实际的 .pem文档的路径
    ssl_certificate_key /path/to/my.key; #换成您的实际的 .key文档的路径

    root /var/www/html; #一般网页都在这儿存放。比如 /var/www/html/index.html
    index index.php index.html index.htm; #由于我的网页是 index.php,所以有 index.php

    location / {
        try_files $uri $uri/ /index.php?$query_string; #若您的网页是index.html, 那么好像php需要改成html
        add_header Content-Type text/html;
    }

    # PHP-FPM配置
    location ~ \\.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; #根据实际安装版本调整数字或路径
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # 静态文件配置
    location ~* \\.(jpg|jpeg|png|gif|ico|css|js)$ {
        expires max;
    }
}

# HTTP重定向到HTTPS
server {
    listen 80;
    server_name www.my.com; #//换成您的网址
    return 301 https://$host$request_uri;
}

types {
    text/html html;
    # 其他 MIME 类型...
}
       第三步是开启并配置端口

       需要注意的是云上要开启并配置443端口(过程省略),否则网页来不了,永远显示好像是“无法访问此网站”。另外,80端口也不要被占用。关闭Apache,以免它占用80端口。

       对于大多数现代Linux发行版,可以用下列命令来禁用Apache开机自启:

sudo systemctl disable apache2

可以进一步确认 apache2 服务的状态是否为禁用状态,使用如下命令:

systemctl is-enabled apache2

若输出为 disabled,则说明已经成功地禁用了 apache2 的自启动功能。

       执行完以上步骤后,就可以在浏览器中输入网址,比如 www.yours.com,这时,浏览器会自动添加 “https://” 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/480502.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用vcpkg自动链接tinyxml2时莫名链接其他库(例如boost)

使用vcpkg自动链接tinyxml2时莫名链接其他库(例如boost) vcpkg的自动链接功能非常方便,但在某些情况下会出现过度链接的问题。 链接错误症状 以tinyxml2为例,程序中调用tinyxml2的函数后,若vcpkg中同时存在opencv和…

gitlab自动打包python项目

现在新版的gitlab可以不用自己配置runner什么的了 直接写.gitlab-ci.yml文件就行,这里给出一个简单的依靠setup把python项目打包成whl文件的方法 首先写.gitlab-ci.yml文件,放到项目根目录里 stages: # List of stages for jobs, and their or…

蓝桥杯每日真题 - 第24天

题目:(货物摆放) 题目描述(12届 C&C B组D题) 解题思路: 这道题的核心是求因数以及枚举验证。具体步骤如下: 因数分解: 通过逐一尝试小于等于的数,找到 n 的所有因数…

YOLOv10改进,YOLOv10添加TransNeXt中的ConvolutionalGLU模块,CVPR2024,二次创新C2f结构

摘要 由于残差连接中的深度退化效应,许多依赖堆叠层进行信息交换的高效视觉Transformer模型往往无法形成足够的信息混合,导致视觉感知不自然。为了解决这个问题,作者提出了一种聚合注意力(Aggregated Attention),这是一种基于仿生设计的token混合器,模拟了生物的中央凹…

(微信小程序)基于Spring Boot的校园失物招领平台的设计与实现(vue3+uniapp+mysql)

💗博主介绍💗:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示:文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…

快速排序hoare版本和挖坑法(代码注释版)

hoare版本 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h>// 交换函数 void Swap(int* p1, int* p2) {int tmp *p1;*p1 *p2;*p2 tmp; }// 打印数组 void _printf(int* a, int n) {for (int i 0; i < n; i) {printf("%d ", a[i]);}printf("…

C++ 【异步日志模块和std::cout << 一样使用习惯替代性好】 使用示例,后续加上远程日志

简单 易用 使用示例 CLogSystem::Instance().SetLogLevel( E_LOG_LEVEL::LOG_LEVEL_INFO | E_LOG_LEVEL::LOG_LEVEL_DEBUG | E_LOG_LEVEL::LOG_LEVEL_DUMP );CLogSystem::Instance().SetFileInfo(true, "./log.txt");LogDebug() << 12;LogInfo() << &qu…

LINUX c++环境

安装docker 拉取code-server镜像 1.安装GCC&#xff0c;GDB yum -y install gcc yum -y install gcc-c yum install gdb 创建文件夹和文件 linux下C开发_linux c-CSDN博客 第一步:预处理&#xff1a;将源代码的.c 、.cpp 、.h 等文件包含到一个文件中&#xff0c;预处理结…

【论文阅读】 Learning to Upsample by Learning to Sample

论文结构目录 一、之前的上采样器二、DySample概述三、不同上采样器比较四、整体架构五、设计过程&#xff08;1&#xff09;初步设计&#xff08;2&#xff09;第一次修改&#xff08;3&#xff09;第二次修改&#xff08;4&#xff09;第三次修改 六、DySample四种变体七、复…

源码安装triton 及出错处理,跟最简应用示例 01 vectorAdd 验证

-1, 源码安装 triton出错信息 WARNING: The user site-packages directory is disabled. error: cant create or remove files in install directory The following error occurred while trying to add or remove files in the installation…

EC2还原快照

EC2还原快照 AWS EC2 磁盘快照 是您 Amazon Elastic Block Store (EBS) 卷在特定时间点的增量备份。您可以使用快照创建 EBS 卷的副本&#xff0c;以便在出现故障时恢复数据或将数据迁移到其他区域。 创建磁盘快照 找到ec2实例挂载的磁盘&#xff0c;直接选择创建快照 等待创建…

提升数据分析效率:Excel Power Query和Power Pivot的妙用

在日常工作中&#xff0c;微软的Excel Power Query和Power Pivot是提升数据处理和分析效率的利器。他们的特点也各不相同&#xff0c;Power Query侧重数据的高效导入与清洗&#xff0c;Power Pivot更测试数据建模与复杂计算。下面将介绍它们各自的功能&#xff0c;并提供应用案…

优先算法 —— 双指针系列 - 快乐数

1. 快乐数 题目链接&#xff1a; 202. 快乐数 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/happy-number/description/ 2. 题目解析 示例1&#xff1a; 示例2&#xff1a; 3. 算法原理 两种情况&#xff1a;我们可以把两种情况都看作为循环&#xff0…

【C++打怪之路Lv16】-- map set

&#x1f308; 个人主页&#xff1a;白子寰 &#x1f525; 分类专栏&#xff1a;重生之我在学Linux&#xff0c;C打怪之路&#xff0c;python从入门到精通&#xff0c;数据结构&#xff0c;C语言&#xff0c;C语言题集&#x1f448; 希望得到您的订阅和支持~ &#x1f4a1; 坚持…

AD7606使用方法

AD7606是一款8通道最高16位200ksps的AD采样芯片。5V单模拟电源供电&#xff0c;真双极性模拟输入可以选择10 V&#xff0c;5 V两种量程。支持串口与并口两种读取方式。 硬件连接方式&#xff1a; 配置引脚 引脚功能 详细说明 OS2 OS1 OS2 过采样率配置 000 1倍过采样率 …

利用Python爬虫获取1688商品类目:技术解析

在电商领域&#xff0c;数据的获取和分析对于市场趋势的把握至关重要。1688作为中国领先的B2B电商平台&#xff0c;其商品类目的数据对于商家来说具有极高的价值。本文将详细介绍如何使用Python编写爬虫程序&#xff0c;以合法合规的方式获取1688商品类目信息。 Python爬虫技术…

全文单词统计

目标&#xff1a;统计词频 import scala.io.Source //知识点 //1.字符串.split("分隔符")&#xff1a;把字符串用指定的分隔符。拆分成多份&#xff0c;保存在数组中 object test1 {def main(args: Array[String]): Unit { //从文件1.txt中读入内容val contentSourc…

【SPIE出版|四大高校联合举办】先进算法与图像处理技术国际学术会议(IC-AAIP 2025)

&#x1f4da;IC-AAIP 2025【ISSN:0277786X】 2025年先进算法与图像处理技术国际学术会议 ⏰时间&#xff1a;2025年8月9日至10日 &#x1f440;地点&#xff1a;中国沈阳 &#x1f4dd;出版商&#xff1a;SPIE 组委负责人刘老师&#xff1a;13660240104 2025年先…

小程序-基于java+SpringBoot+Vue的戏曲文化苑小程序设计与实现

项目运行 1.运行环境&#xff1a;最好是java jdk 1.8&#xff0c;我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境&#xff1a;IDEA&#xff0c;Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境&#xff1a;Tomcat 7.x,8.x,9.x版本均可 4.硬件环境&#xff1a…

【C/C++】内存管理详解:从new/delete到智能指针的全面解析

文章目录 更多文章C/C中的传统内存管理方式new和delete运算符malloc和free函数传统内存管理的弊端 智能指针的崛起智能指针的定义与作用C11引入的标准智能指针 详解C标准智能指针std::unique_ptr特点使用方法适用场景 std::shared_ptr特点使用方法适用场景 std::weak_ptr特点使…