nginx部署以及反向代理多域名实现HTTPS访问

这篇具有很好参考价值的文章主要介绍了nginx部署以及反向代理多域名实现HTTPS访问。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

nginx部署以及反向代理多域名实现

1.nginx部署

1.1 编写nginx部署文件 docker-compose.yml

version: '3'
services: 
  nginx:
    restart: always 
    image: nginx:1.20
    container_name: nginx-main
    ports:
      - 80:80
      - 443:443
    volumes: 
      # 基础配置
      - /opt/nginx_main/nginx-info/nginx.conf:/etc/nginx/nginx.conf
      # 日志文件
      - /opt/nginx_main/nginx-info/log:/var/log/nginx
      # 配置文件
      - /opt/nginx_main/nginx-info/conf.d/default.conf:/etc/nginx/conf.d/default.conf
      # 前端网页访问
      - /opt/nginx_main/nginx-info/html:/usr/share/nginx/html
      # 后期用来创建ssl证书会需要用到
      - /opt/nginx_main/nginx-info/ssl:/etc/nginx/ssl

2.2 创建所需文件 根据上面的路径进行创建

直接进入/opt/nginx_main/nginx-info里面创建了

cd /opt/nginx_main/nginx-info
touch nginx.conf
mkdir log
mkdir conf.d
# 进入创建的这个目录
cd conf.d
touch default.conf
cd ..
mkdir html
mkdir ssl

2.3 获取ssl证书

选择域名 然后配置免费ssl证书 证书设置我们需要的域名

然后申请之后稍等一段时间

之后点击下载,下载nginx的证书文件 一个pem,一个key

然后把下载的证书放到上面的 ssl路径 记录好位置即可,步骤 2.5会用到

1.先进入阿里云的数字证书管理服务页面 选择免费证书

nginx 反向代理多个域名,运维,nginx,https,运维

2.点击创建证书

之后会出现一条记录 显示待申请

nginx 反向代理多个域名,运维,nginx,https,运维

3.配置证书

输入要使用的域名
nginx 反向代理多个域名,运维,nginx,https,运维

4.确认完成之后返回,看到有记录了,就点击下载

nginx 反向代理多个域名,运维,nginx,https,运维

因为我们用的是nginx代理,所以选择nginx下载

nginx 反向代理多个域名,运维,nginx,https,运维

下载解压之后就是我们需要的文件了,一个pem,一个key文章来源地址https://www.toymoban.com/news/detail-664471.html

2.4 编辑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;
    # types {
    #    application/javascript   js;
    # }
    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;
}

2.5 编辑default.conf

# 前端服务代理
server {
    listen       80;
    listen  [::]:80;
    # 设置域名
    server_name  aa.bb.baiding.com;
    # 代理域名
    return 301 https://aa.bb.baiding.com;
}
server {
    listen 443 ssl; 
    server_name aa.bb.baiding.com;
    # 配置ssl证书 2.3 步骤说的证书的位置 详细到指定的文件名
    ssl_certificate /etc/nginx/ssl/aa.bb.baiding.com.pem;  
    ssl_certificate_key /etc/nginx/ssl/aa.bb.baiding.com.key; 
	# 其他配置
    ssl_session_timeout 5m;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_session_cache shared:SSL:1m;
    fastcgi_param  HTTPS        on;
    fastcgi_param  HTTP_SCHEME     https;
    # 代理配置
    location / {
        proxy_set_header   X-Real-IP         $remote_addr;
        proxy_set_header   Host              $http_host;
        proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
        # 访问路径
        root   /usr/share/nginx/html/dev;
        index  index.html index.htm;
        try_files  $uri $uri/ /index.html;
        add_header Access-Control-Allow-Origin * always;
    }
}
# 后端服务代理
server {
    listen       80;
    listen  [::]:80;
    # 设置域名
    server_name  api.bb.baiding.com;
    # 代理https域名
    return 301 https://api.bb.baiding.com;
}
server {
    listen 443 ssl; 
    server_name api.bb.baiding.com;
    # 配置ssl证书
    ssl_certificate /etc/nginx/ssl/api.bb.baiding.com.pem;  
    ssl_certificate_key /etc/nginx/ssl/api.bb.baiding.com.key; 
    
    ssl_session_timeout 5m;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_session_cache shared:SSL:1m;
    fastcgi_param  HTTPS        on;
    fastcgi_param  HTTP_SCHEME     https;
    # 路径代理配置
    location / {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_cache_bypass $http_upgrade;
        # 反向代理的路径
        proxy_pass  http://111.11.111.123:8081;
    }
}

2.6 启动nginx

docker-compose -f docker-compose.yml up -d

到了这里,关于nginx部署以及反向代理多域名实现HTTPS访问的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • nginx多域名转发

    昨天碰到nginx做多域名转发,简单总结下nginx的使用,此文只是便于开发理解,并不会涉入太深的东西。有错误的地方,还望大家多指正。 DNS DNS是Domain Name System的缩写,即域名系统。DNS是internet的一项服务,一般叫域名服务或者域名解析服务,主要是提供网站域名与ip地址的相

    2024年02月04日
    浏览(54)
  • 如何构建多域名HTTPS代理服务器转发

    在当今互联网时代,安全可靠的网络访问是至关重要的。本文将介绍如何使用SNI Routing技术来构建多域名HTTPS代理服务器转发,轻松实现多域名的安全访问和数据传输。 SNI代表\\\"Server Name Indication\\\",是TLS协议的扩展,用于在HTTPS握手过程中传递目标服务器的域名信息。通过SNI R

    2024年02月10日
    浏览(50)
  • nginx 配置多域名多站点 Ubuntu

    nginx 的配置文件在 /etc/nginx 目录下,它的默认内容是这样的 讲一下如何一个服务器配置多域名多站点。 多站点的实现方式有几种: 多域名、多站点 多端口、多站点 比如 a.com b.com 都指向了服务器 1.2.3.4 ,我们需要实现的是在访问这两个域名的时候出现的是不同的网站,他们

    2024年02月14日
    浏览(49)
  • 踩坑日记-nginx server_name配置多域名的坑

    项目配置了多个域名,如下,php 代码中有获取 $_SERVER[\\\'SERVER_NAME\\\'] 的值。 当访问 a.demo.com 时,其获取的值是符合预期的。但是当访问 b.demo.com 时,其获取的值还是 a.demo.com ,导致代码中的判断出现错误。 当 nginx 的一个 server 节点下,server_name 配置多个域名时,$server_name 变量

    2024年02月11日
    浏览(59)
  • 【五一创作】多域名环境和Office 365混合部署方案

    目录   一、多域名环境是什么? 二、Office 365是什么? 三、多域名环境与Office 365的结合 总结   多域名环境指的是一个企业拥有多个域名,这些域名可能隶属于不同的子公司、部门或者品牌,但是都归属于同一个母公司。例如,一个中国电信集团旗下有中国电信、中国移动、

    2024年02月02日
    浏览(43)
  • http的ssl证书保姆级配置安装-多域名 免费ssl证书 解析 nginx配置

    摘要:多个域名(mysite.com,*.mysite.com),免费证书,添加解析记录,申请证书的shell脚本,nginx配置 登录免费证书网站:https://freessl.cn/ 输入:mysite.com,*.mysite.com 选择亚洲诚信trustasia 点击“创建免费的ssl证书” ACME域名配置 域名:确认刚才输入的mysite.com,*.mysite.com无误,点击下

    2024年02月09日
    浏览(100)
  • 线上多域名实战

    本文博主给大家分享线上多域名实战,当线上主域名不可用的情况下,启用备用域名完成网站高可用保障。 网站的高可用性一直是网站运维的重中之重。一旦网站宕机,不仅会造成巨大的经济损失,也会严重影响用户体验。备份域名就是一种实现网站高可用的重要手段。通过

    2023年04月22日
    浏览(52)
  • positivessl多域名证书能保护几个域名

    PositiveSSL旗下的SSL数字证书类型比较多,不仅有常见的单域名SSL证书、多域名SSL证书和通配符SSL证书,还有比较特殊的多域名通配符SSL证书和IP证书。PositiveSSL旗下的多域名SSL证书有两种,一种是比较基础的DV多域名SSL证书,另一种是增强型的EV多域名SSL证书,这两款多域名SS

    2024年01月19日
    浏览(45)
  • 泛域名和多域名https哪个性价比高

    Sectigo已经成立了二十几年,随着互联网的快速发展,Sectigo旗下的https证书种类也逐渐增多,例如,代码签名证书、IP证书,但是Sectigo最多的是各种域名https证书——单域名https证书、多域名https证书和泛域名https证书。今天就随SSL盾小编了解Sectigo旗下的泛域名https证书和多域名

    2024年01月17日
    浏览(48)
  • PositiveSSL和Sectigo的多域名证书

    首先,我们要知道PositiveSSL是Sectigo旗下的子品牌,提供多种类型的SSL数字证书,包括DV基础型的多域名SSL证书。Sectigo的SSL证书产品同样比较丰富,不仅有DV基础型多域名SSL证书,还有OV企业型以及EV增强型的多域名SSL证书。今天就随SSL盾小编了解PositiveSSL和Sectigo旗下的多域名

    2024年01月25日
    浏览(58)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包