nginx配置监听443端口,开启ssl协议,轻松拿下offer

二:为 nginx 安装 ssl 模块

如果没有安装 ssl 模块,即使你成功的配置好 https 的相关配置,网站也依旧不能使用 https,会提示诸如:无法提供安全连接、TLS协议不支持呀等问题。ssl 模块的安装是为了能让后端接口得以使用 https 的方式调用。找到我们的 nginx 安装解压包,我这里是放在 /usr/local/software 目录下,然后执行如下命令进入到 nginx-1.18.0 目录下。

cd /usr/local/software/nginx-1.18.0

在这里插入图片描述
在这里插入图片描述

来到 ngixn-1.18.0 目录 然后依次执行如下这三条命令

./configure --with-http_ssl_module
make
make install

由于我已经安装过了给大家看一下我当时执行的历史命令,也是这些。

在这里插入图片描述

安装好 ssl 之后,我们发现 nginx-1.18.0 安装包的 objs 目录下有如下这些文件,直接拷贝到 nginx 安装目录下的 sbin 文件夹下面。

在这里插入图片描述
nginx 默认的安装路径一般都在 /usr/local/nginx 这个位置,拷贝完成后 sbin 目录长这样。
在这里插入图片描述
到此 nginx ssl模块安装成功,切回 nginx 的安装目录接着执行如下命令,发现已经安装成功了。

cd /usr/local/nginx/sbin
./nginx -V

三、nginx 开启 443 端口监听(https配置)

由于 https 默认是走 443 端口的,于是我们需要在 nginx.conf 中配置 443端口的监听,然后里面配置证书路径配一下就好了,这里我是用的 pem 证书。

server {
    listen       80;
    server_name  你的域名;
    #return 301 https://$server_name$request_uri; 
    location / {
        index index.html;
        alias /usr/local/nginx_static/dist/;
        #autoindex on;
    }
    location /fmphone {
        index index.html;
        alias /usr/local/nginx_static/dist2/;
    }
}
server {
    listen 443 ssl;
    server_name 你的域名;
    ssl_certificate     证书linux绝对路径;
    ssl_certificate_key 证书linux绝对路径;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH;
    ssl_protocols TLSv1;
    ssl_prefer_server_ciphers on;
}

由于我这里有些项目需要接着走 http ,有些项目走 https ,我并没有开启全局 http 转 https ,也就是没有放开这行代码。这里需要注意的是,当放开这行代码后,监听 80 端口的 service 里面的 location 就会失效,因为请求全转发到 443 端口了,对应的 location 也要挪到 443 对应的那个 service 里面。我这里 location 写到了 80 端口对应的 service 里面是因为,我有些项目要走 http 有些要走 https,配的 http 与 https 共存(他们都是用的 80 service 里面的location),一个项目既可以通过 http 访问,也可以通过 https 访问,对应的 location 只能写到 80 对应的 service 里面,写到 443 对应的 service 会失效。这里大家需要注意一下哦。

return 301 https://$server_name$request_uri; 


**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/fa5d85b7ccfa7213ce454a66e929b7a8.png)
![img](https://img-blog.csdnimg.cn/img_convert/033ff40f35482677f016ea38a05f09cf.png)
![img](https://img-blog.csdnimg.cn/img_convert/e832f6de65e4ad7d9c6e60b68de5ba0e.png)
![img](https://img-blog.csdnimg.cn/img_convert/bbfde47844b074053eb51554076922af.png)
![img](https://img-blog.csdnimg.cn/img_convert/56f365a713d88ca223dd14aea9003849.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**
![img](https://img-blog.csdnimg.cn/img_convert/cc1e8a787e28b6e7f70eef7b51ba0611.jpeg)



### 最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

### 资料预览

给大家整理的视频资料:

![](https://img-blog.csdnimg.cn/img_convert/8fbf5badde73a05e225bc50646e29391.png)

给大家整理的电子书资料:

  

![](https://img-blog.csdnimg.cn/img_convert/7ac955c5f801e6e36d9d322c79eccedd.png)



**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**


**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
![img](https://img-blog.csdnimg.cn/img_convert/9dad94166d5318add7960b0cdc9c1d3c.jpeg)

但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中...(img-f45gjJgN-1712538405511)]

<think>嗯,用户想了解在Nginx中正确配置443端口SSL设置的方法。首先,我需要回忆一下Nginx配置SSL的基本步骤和相关模块。根据引用里的信息,比如引用3提到需要编译Nginx时加上--with-http_ssl_module来启用SSL支持,所以用户可能需要检查是否已经安装了这个模块。另外,引用5提到使用Nginx版本的证书,并且配置443端口的转发,这可能涉及到server块的配置。 然后,用户的问题是关于开启443端口的关键配置项,所以应该涉及到监听443端口,指定SSL证书和私钥的路径。引用2和4中提到了配置多个SSL域名和测试配置是否正确,可能需要指导用户如何编写server块,设置ssl_certificate和ssl_certificate_key。同时,引用1提到防火墙需要开放443端口,这也是一个需要注意的点,但用户的问题主要集中在Nginx配置上,可能需要简要提醒防火墙设置。 接下来,用户可能需要知道如何测试配置是否正确,比如使用nginx -t命令,这在引用4中有例子。此外,引用5提到配置443转发,可能涉及代理设置或其他内部转发,但用户的问题可能更基础,所以需要先确保基本的SSL配置正确。 还要注意配置文件的语法是否正确,比如每个指令以分号结尾,括号是否正确闭合。可能需要分步骤说明,比如创建server块,监听443 ssl,指定证书路径,然后重启Nginx服务。同时,是否需要将HTTP请求重定向到HTTPS,这也是常见的做法,如引用2中的跳转配置,可能需要包含这个例子。 总结一下,回答应该包括检查SSL模块、配置server监听443、指定证书路径、测试配置、重启服务,以及可能的HTTP到HTTPS重定向。同时,提醒用户检查防火墙和域名解析是否正确,如引用1和引用2提到的内容。需要将这些信息组织成清晰的步骤,并确保LaTeX格式正确,比如变量用$符号包裹,独立公式用$$,但在这个问题中可能用不到太多数学公式,但需要遵守系统级指令中的格式要求。</think>### 如何在Nginx中正确配置443端口SSL #### 关键配置步骤 1. **确认SSL模块已启用** Nginx必须编译时包含`--with-http_ssl_module`模块[^3]。可通过以下命令验证: ```bash nginx -V 2>&1 | grep -o with-http_ssl_module ``` 若输出为空,需重新编译Nginx并添加该模块。 2. **配置监听443端口** 在Nginx的`server`块中添加以下配置: ```nginx server { listen 443 ssl; # 监听443端口并启用SSL server_name your_domain.com; # 绑定域名 ssl_certificate /path/to/fullchain.pem; # SSL证书路径 ssl_certificate_key /path/to/privkey.pem; # 私钥路径 # 其他配置(如反向代理) location / { proxy_pass http://localhost:8080; # 示例:转发到内部8080端口 } } ``` 3. **强制HTTP跳转HTTPS(可选)** 添加独立的HTTP监听块实现自动跳转: ```nginx server { listen 80; server_name your_domain.com; return 301 https://$server_name$request_uri; # 301重定向到HTTPS } ``` #### 验证与调试 - **测试配置语法**: ```bash nginx -t ``` 输出应包含`configuration file ... test is successful`[^4]。 - **检查防火墙与端口**: 确保服务器防火墙(如阿里云ECS安全组)已开放443端口[^1]。 - **域名解析验证**: 确认域名已正确解析到服务器IP。 #### 多域名配置示例(引用2扩展) 若需多个SSL域名指向不同端口: ```nginx server { listen 443 ssl; server_name domain1.com; ssl_certificate /path/to/domain1.pem; ssl_certificate_key /path/to/domain1.key; location / { proxy_pass http://localhost:8001; # 转发到8001端口 } } server { listen 443 ssl; server_name domain2.com; ssl_certificate /path/to/domain2.pem; ssl_certificate_key /path/to/domain2.key; location / { proxy_pass http://localhost:8002; # 转发到8002端口 } } ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值