在Docker 上使用 Nginx 配置https及wss

这篇具有很好参考价值的文章主要介绍了在Docker 上使用 Nginx 配置https及wss。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

预先创建挂载文件

使用docker启动nginx时候需要提前创建好宿主机的挂载文件,文件会在挂载成功之后自动从nginx的容器中复制默认内容文章来源地址https://www.toymoban.com/news/detail-668514.html

# 创建配置文件
/mydata/nginx/conf/nginx.conf
# 证书的文件夹 
/mydata/nginx/cert
# 配置项目的配置文件夹
/mydata/nginx/conf.d
# nginx的默认静态文件夹
/mydata/nginx/html
# nginx的日志文件夹
/mydata/nginx/logs

运行并且挂载容器

docker run -p 80:80 -p 443:443  --name nginx01 --restart=always \
-v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /mydata/nginx/cert:/etc/nginx/cert \
-v /mydata/nginx/conf.d:/etc/nginx/conf.d \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-d -it nginx

nginx.conf文件

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

default.conf文件

server{
	listen 80;
	listen  [::]:80;
       	charset 'utf-8';
      	server_name  域名;
       	rewrite ^(.*) https://$server_name$1 permanent;
       
       	error_page  404 /404.html; 
       	location = /404.html{
       	   root  /usr/share/nginx/html;
       	}
}


server{
       	listen 443 ssl;
       	server_name 域名;
		
		# 配置证书访问路径
       	ssl_certificate  */***.pem;
       	ssl_certificate_key */***.key;

		ssl_session_cache    shared:SSL:1m;
		ssl_session_timeout  5m;

		ssl_protocols SSLv3 SSLv2 TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置

		ssl_ciphers  HIGH:!aNULL:!MD5;
		ssl_prefer_server_ciphers  on;

		# 配置将https和wss协议的转发到服务器地址上去
		location / {
			proxy_pass http://服务器ip地址:端口号;  #通过配置端口指向部署websocker的项目
     		proxy_http_version 1.1;    
     		proxy_set_header Upgrade $http_upgrade;    
     		proxy_set_header Connection "Upgrade";    
     		proxy_set_header X-real-ip $remote_addr;
     		proxy_set_header X-Forwarded-For $remote_addr;
			proxy_read_timeout 600s;			#设置连接自动断开时间
	}
	
	error_page  404 /404.html;             
	location = /404.html {
        	root  /usr/share/nginx/html;
	}
}

到了这里,关于在Docker 上使用 Nginx 配置https及wss的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【docker-compose】【nginx】内网环境https配置

    在部署服务器上,新建cert目录,执行以下指令,然后生成.crt和.key文件 -days 3650:设置为10年 10.1.58.5:修改为服务器ip 在原来的配置上新增ssl配置,可使用任意端口, listen 后注意增加 ssl 为了便于前端vue项目容器化部署,将服务器 cert 目录与容器内 /etc/nginx/cert 关联

    2024年01月16日
    浏览(41)
  • 《Docker》阿里云服务器docker部署nginx并配置https踩坑记录(完整)

    前端博主,热衷各种前端向的骚操作,经常想到哪就写到哪,如果有感兴趣的技术和前端效果可以留言~博主看到后会去代替大家踩坑的~ 主页: oliver尹的主页 格言: 跌倒了爬起来就好~ 来个关注吧,点个赞吧,谢谢 今天在为阿里云服务器续期的时候发现原来阿里云上面也

    2024年02月06日
    浏览(42)
  • 使用docker部署nginx并支持https

    配置nginx支持https,其实也简单,搞个证书,然后修改下配置文件就好了。我以前一篇文章(使用docker部署多个nginx站点并配置负载均衡)为例,做个记录。 如前所述,我使用docker,部署了3个nginx。一个做负载均衡服务器,另外两个做应用。结构如下: 那么,支持https,也是在

    2024年02月15日
    浏览(36)
  • 杂记 | 使用Docker和Nginx为网站添加HTTPS访问功能

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

    2024年02月10日
    浏览(42)
  • Nginx搭建Https反向代理,使用阿里云免费SSL证书 - Docker

    没有docker需提前安装docker,不知怎么安装的请自行百度。 1、拉取镜像 2、去阿里云或者其他云服务提供商申请免费证书,申请到之后下载下来,上传到服务器 把证书上传到ssl目录下面,下面是ssl的目录结构 /root/nginx/ssl 和上传的证书有两个文件一个 .key 一个 .pem 进入nginx-pr

    2024年02月09日
    浏览(95)
  • 如何使用宝塔面板配置Nginx反向代理WebSocket(wss)

    本章教程,主要介绍一下在宝塔面板中如何配置websocket wss的具体过程。 目录 一、添加站点 二、申请证书 三、配置代理  1、增加配置内容

    2024年02月21日
    浏览(49)
  • docker使用环境变量的方式动态配置nginx

    使用docker部署nginx时,由于nginx配置文件里面的一些ip和端口是随着环境变化而改变的,即在 不同的环境 里,使用的 ip和端口都不一样 。这就导致每次部署到新环境时,都要重新编写配置文件,再制作成新的镜像,比较繁琐。 所以我想要制作一个通用的镜像,将ip和端口设置

    2024年02月09日
    浏览(36)
  • nginx 配置 wss 协议

    其实 wss 认证和 https 认证没什么区别,只是需要单独添加两个格外的 header ,支持一下 ws 协议升级而已,所以直接copy 一个 https 模版进行简单的变更即可 ws 建立连接过程 前端向后段发送标准的http连接请求,并携带升级协议相关参数,同时设置一个安全密钥 Connection: Upgrade:

    2024年02月05日
    浏览(36)
  • nginx配置wss协议

    需求:nginx配置websocket协议连接,( 背景,在一个使用一个免费的仅仅支持单域名的证书时,既要支持https协议,也要支持wss协议时,我们可以配置一个nginx根据不同的路径去跳转 ) 项目的接口在内部为127.0.0.1:8888/request/play 也就是本地通过 ws://localhost:28888 进行socket连接,当

    2024年02月12日
    浏览(35)
  • lua使用resty.http做nginx反向代理(https请求,docker容器化部署集群),一个域名多项目转发

    下载使用 链接:https://pan.baidu.com/s/1uQ7yCzQsPWsF6xavFTpbZg 提取码:htay –来自百度网盘超级会员V5的分享 ad_load.lua文件

    2024年01月18日
    浏览(63)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包