杂记 | 使用Docker和Nginx为网站添加HTTPS访问功能

这篇具有很好参考价值的文章主要介绍了杂记 | 使用Docker和Nginx为网站添加HTTPS访问功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


01 前言

1.1 HTTPS介绍

HTTPS(Hypertext Transfer Protocol Secure)是一种通过加密通信保护网站数据传输的协议。它是 HTTP 协议的安全版本,通过使用 SSL(Secure Sockets Layer)或 TLS(Transport Layer Security)协议对数据进行加密和认证。在 HTTPS 下,传输的数据在客户端和服务器之间是加密的,确保信息不被窃听、篡改或伪装。

1.2 准备工作

需要一台Linux服务器、一个域名,安装docker。
并且从阿里云等服务商处获取了SSL 证书。
在阿里云的域名管理界面,点击“开启SSL证书”。
杂记 | 使用Docker和Nginx为网站添加HTTPS访问功能
选择“免费证书”即可。
杂记 | 使用Docker和Nginx为网站添加HTTPS访问功能
然后点击“创建证书” -> “证书申请”
填写相应信息,然后提交审核。
通过后点击“下载”,选择Nginx。
杂记 | 使用Docker和Nginx为网站添加HTTPS访问功能
下载好后解压,包含一个.key文件和一个.pem文件。将它们上传到服务器。

02 编写nginx.conf

...
http {
	...
    server {
    	# http2可以提升响应速度 是可选的
        listen 443 ssl http2;				# 这里要加上ssl 443是https的默认端口 80是http的默认端口
        server_name www.xxx.top;			# 证书对应的域名
        location / {
            ...
        }
        ssl_certificate /etc/ssl/certificates/www/www.xxx.top.pem;		# 证书存放路径(docker容器内的路径)
        ssl_certificate_key /etc/ssl/certificates/www/www.xxx.top.key;	# 私钥存放路径(docker容器内的路径)
        # 以下配置可以提升响应速度 是可选的
        ssl_prefer_server_ciphers on;
        ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
        ssl_stapling on;
        ssl_stapling_verify on;
        ssl_trusted_certificate /etc/ssl/certificates/www/www.xxx.top.pem;
        ssl_buffer_size 4k;
    }
}

概括地说,在监听时新增了ssl,同时增加了ssl_certificate和ssl_certificate_key配置,即可开启HTTPS了。

03 使用docker启动nginx

在服务器的/root目录下新建ssl目录,然后将证书和私钥文件放在该目录下。
编写docker-compose.yml文件(需要安装docker-compose)

version: '3.3'
services:
    nginx:
        volumes:
            - '/root/nginx.conf:/etc/nginx/nginx.conf'	# 配置文件映射
            - '/root/ssl:/etc/ssl/certificates'			# 证书目录映射
            - '/root/html:/usr/share/nginx/html'		# 页面目录映射(可选)
        network_mode: host								# 使用宿主机的网络
        image: 'nginx:stable-alpine-slim'

启动docker容器

# 需要先cd到docker-compose.yml所在的目录 再执行命令
docker-compose up -d

然后就可以输入带https域名进行访问了。文章来源地址https://www.toymoban.com/news/detail-496699.html

到了这里,关于杂记 | 使用Docker和Nginx为网站添加HTTPS访问功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • nginx upstream server主动健康监测模块添加https检测功能【上】

      前面的《nginx upstream server主动健康检测模块ngx_http_upstream_check_module 使用和源码分析》系列已经分析了ngx_http_upstream_check_module的实现原理,并且在借助这个模块的框架实现了一个udp健康检测的新功能。   但是ngx_http_upstream_check_module还缺乏基于https监测上游服务器健康状况

    2024年02月20日
    浏览(38)
  • nginx upstream server主动健康检测模块添加https检测功能[完整版]

      前面的《nginx upstream server主动健康检测模块ngx_http_upstream_check_module 使用和源码分析》系列已经分析了ngx_http_upstream_check_module的实现原理,并且在借助这个模块的框架实现了一个udp健康检测的新功能。   但是ngx_http_upstream_check_module还缺乏基于https监测上游服务器健康状况

    2024年02月19日
    浏览(40)
  • (五)在docker中添加nginx端口映射(解决docker中的nginx无法访问除80端口以外的问题)

    问题描述: 我们在docker中开启nginx以后,如果这时候在nginx中配置除了80以外的端口的监听,会发现无法访问,这时候其实是因为我们没有开启端口映射导致的。 这个时候,我们可以采用修改配置文件的方式去添加端口映射,具体步骤如下: 首先先关闭docker,否则修改配置文

    2023年04月08日
    浏览(36)
  • 基于docker搭建gitea私服仓库,并开启https访问、ssh访问和邮箱验证通知功能

    git常用命令大锦囊 团队需要多人协作开发,gitee,github等仓库管理协作人数有限,因此自己搭建基于gitea的仓库私服(最开始使用gitlab,鉴于gitlab功能庞大,占用内存太高,于是换成gitea搭建)。 gitea是基于Golang开发的极易安装、运行快速、内存占用小的代码托管服务平台,下面

    2024年02月16日
    浏览(43)
  • nginx配置ssl证书使用https访问

    一:申请证书,我使用的是阿里云免费证书 二:下载证书,解压到服务器上 两个文件:www.xx.com.pem和www.xx.com.key 三:打开配置文件/usr/local/nginx/conf/nginx.conf 放开端口443,替换ssl_certificate和ssl_certificate_key为自己证书路径    server {         listen       443 ssl;         server_na

    2024年01月20日
    浏览(60)
  • 使用nginx代理https网站,并注入自己js的方法

    最近遇到一个变态的问题,客户要我们做的网站收集到的数据直接上传到他们上级的一个数据汇总系统,但是上级系统已经运行了很多年,貌似没有再进行二次开发的可能了,并且别人的系统也不一定给我们对接,那么有什么办法能把我们的数据直接在用户提交表单的时候直

    2024年02月16日
    浏览(38)
  • 网站部署SSL证书后无法使用https访问的解决方法

    网站要启用https加密访问,则需安装部署有效的 SSL证书 。但有时我们在服务器上安装部署 SSL证书 后,使用https协议访问网站,可能会出现页面加载缓慢、空白或提示 “无法访问”等问题,这时该如何解决? 网站部署 SSL证书 后无法使用https访问的可能原因及解决方法 1、服务

    2024年02月12日
    浏览(46)
  • 如何使用 Cloudflare 为 S3 存储桶网站添加 HTTPS在支持 HTTPS 和自定义域的 S3 存储桶中托管静态网站

    如何使用 Cloudflare 为 S3 存储桶网站添加 HTTPS在支持 HTTPS 和自定义域的 S3 存储桶中托管静态网站 AWS S3 提供了一种将文件存储在高度可用的对象存储中的简单方法,它还支持设置静态网站。如果您不需要动态内容,那么使用 S3 存储桶是一个很有吸引力的托管选项。您几乎不需

    2024年02月04日
    浏览(56)
  • 本地测试使用自签名证书以开启网站https(例子说明:Nginx、Tomcat)

    原文链接 数字证书是由证书颁发机构(CA)签名并颁发的电子文件,用于建立网络连接的身份认证和加密通信。SSL 证书是数字证书的一种。 SSL 证书包含以下信息: 针对其颁发证书的域名 证书颁发给哪一个人、组织或设备 证书由哪一证书颁发机构颁发 证书颁发机构的数字签名

    2024年02月09日
    浏览(44)
  • 杂记 | Linux中修改docker默认访问端口(2375)

    2375端口是docker的默认访问端口,使用该端口可实现远程访问和操作docker,但在服务器上直接开启该端口有安全风险(笔者本人今天就应该端口导致服务器被入侵),可以修改该默认端口以在一定程度上减少系统被入侵的风险。 本文基于CentOS设置,其他Linux操作系统大同小异。

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包