很多场景下需要可以通过浏览器访问静态网页,不想把服务器ip地址直接暴露出来,通过nginx可以解决这个问题。

实现http域名访问静态网页

1.域名解析配置(本文都是以阿里云为例,其他平台,操作步骤类似)

进入阿里云的域名解析页面,配置域名指向的服务器地址(记录类型选择A,记录值填写服务器ip,记得把服务器的80端口开放)

修改nginx配置文件,重启nginx,这样通过http域名就可以访问网页资源了

server {
listen 80; # 访问不带端口号时,默认是80端口
server_name www.dishuizhiyi.top; # 刚刚配置的域名
location / {
root /app/web/demoPage; # 静态网页资源放置的文件夹(服务器上的位置)
# 默认访问index页面
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
} # 检查文件格式是否正确
$ /usr/local/nginx/sbin/nginx -t
# 重启nginx
$ /usr/local/nginx/sbin/nginx -s reload

页面访问情况如下

实现https域名访问静态网页

https需要配置证书,保证安全性,首先购买证书(阿里云提供了免费的证书,本文就以此为例)

1.购买证书(进入SSL证书页面,购买证书;然后选择单域名、DV SSL、免费版进行购买)

2.购买完成后控制台列表会有一条未签发的记录,点击证书申请

3.填写证书申请信息,然后点击下一步,出现验证信息,需要进行验证(域名解析中配置解析)

4.域名解析页面配置解析记录(类型为TXT,记录值为证书验证信息中的记录值),配置好后,点击验证,提示验证成功。

5.下载证书(因为使用的是Nginx,所以下载Nginx对应的证书文件),下载好后上传到服务器。

6.配置Nginx的配置文件(服务器需要开放443端口<https访问端口>)

server {
listen 443 ssl; # 监听端口
server_name www.dishuizhiyi.top;
# 证书文件
ssl_certificate /usr/local/nginx/cert/top.pem;
ssl_certificate_key /usr/local/nginx/cert/top.key; ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on; location / {
root /app/web/demoPage;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
}

7.重启Nginx。

# 在校验配置文件的时候,报了一个错误。
# Nginx如果未开启SSL模块,配置Https时提示错误
# 因为Nginx缺少http_ssl_module模块,编译安装的时候带上–with-http_ssl_module配置就行了。
nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:127
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed # 但是现在nginx已经安装完成了,添加模块的步骤如下
# 查看当前安装Nginx的信息(configure arguments后面的信息为空,没有我们想要的模块)
$ /usr/local/nginx/sbin/nginx -v nginx version: nginx/1.14.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
configure arguments: # 进入源码路径,重新打包
$ cd /usr/nginx/nginx-1.14.1
# 运行下面的命令即可,等配置完
$ ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
# 这里不要进行make install,否则就是覆盖安装
$ make
# 备份旧的文件(可以选择不备份)
$ cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
# 覆盖新的文件到执行路径(要把Nginx先停掉)
$ cp objs/nginx /usr/local/nginx/sbin/
# 覆盖完成后启动Nginx
$ usr/local/nginx/sbin/nginx

8.通过https域名访问网页(https配置成功后,访问域名前边会有一把小锁)

Nginx配置负载均衡

# 以https为例(http方式也可以),通过upstream的配置,实现转发,weight代表节点的权重
server {
listen 443 ssl;
server_name api.dishuizhiyi.top; ssl on; ssl_certificate /cert/top.pem;
ssl_certificate_key /cert/top.key; ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on; location / {
proxy_pass http://api;
}
} upstream api{
server 127.0.0.1:3000 weight=1;
server 127.0.0.1:3001 weight=1;
server 127.0.0.1:3002 weight=1;
}

通过http、https域名访问静态网页、nginx配置负载均衡(nginx配置)的更多相关文章

  1. Nginx实现负载均衡&Nginx缓存功能

    一.Nginx是什么 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambl ...

  2. Nginx/Httpd负载均衡tomcat配置

    在前一篇博客中我们聊了下用Nginx和httpd对后端tomcat服务做反代相关配置,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13334180.html: ...

  3. 使用nginx实现负载均衡的配置

    #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #erro ...

  4. Nginx简单介绍以及linux下使用Nginx进行负载均衡的搭建

    1.Nginx简介 Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5 ...

  5. Nginx实现负载均衡功能

    一.什么是Nginx? Nginx是一款轻量级的Web 服务器.反向代理服务器.电子邮件(IMAP/POP3)代理服务器. 二.Nginx的优点: 高并发连接:官方测试Nginx能够支撑5万并发连接, ...

  6. Nginx的负载均衡

    什么是负载均衡 负载均衡主要通过专门的硬件设备或者通过软件算法实现.通过硬件设备实现的负载均衡效果好.效率高.性能稳定,但是成本比较高.通过软件实现的负载均衡主要依赖于均衡算法的选择和程序的健壮性.均 ...

  7. 如何利用nginx实现负载均衡(总结)

    如何利用nginx实现负载均衡(总结) 一.总结 一句话总结: 推荐使用nginx七层(应用层)负载均衡的实现:配置那是相当的简单 1.nginx配置实例? |||-begin #这里的域名要和下面p ...

  8. Nginx之负载均衡配置(二)

    前文我们聊到了nginx作为负载均衡的配置,前端nginx作为调度器调度http或https请求,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12458159 ...

  9. Nginx+DNS负载均衡实现

    负载均衡有多种实现方法,nginx.apache.LVS.F5硬件.DNS等. DNS的负载均衡就是一个域名指向多个ip地址,客户访问的时候进行轮询解析 操作方法,在域名服务商解析的DNS也可以是第三 ...

随机推荐

  1. k_means算法+python实现

    文章目录 一.原理 二.算法步骤 三.实例如下: 四.python代码实现: 一.原理 K均值算法使用的聚类准则函数是误差平方和准则,通过反复迭代优化聚类结果,使所有样本到各自所属类别的中心的距离平方 ...

  2. 来了,来了,你们要的Nginx教程来了

    一 Nginx简介 1.1 什么是Nginx Nginx是一个高性能的http和反向代理服务器,其特点是占用内存小,并发能力强.Nginx专为性能优化而开发,性能是其最重要的考量,能经受高负载的考验, ...

  3. Redis集群搭建(哨兵)

    最近工作中需要用到redis哨兵集群,笔者自己搭建了3遍,直接开始 环境: 1,系统环境 系统 版本 操作系统 CentOS 7.4 Redis 5.0.8 2,IP请修改成自己的IP redis I ...

  4. Spark入门(第1讲)

    一.Spark是什么 引用官方文档的一句话 Apache Spark is a unified analytics engine for large-scale data processing. Ap ...

  5. Dicom文件基本操作

    官方文档 网址:https://github.com/fo-dicom/fo-dicom托管在github上. 官方例子 Dicom文件基本操作 var file = DicomFile.Open(@ ...

  6. Python灰帽子:黑客与逆向工程师的Python编程之道|百度网盘免费下载|新手黑客入门

    百度网盘免费下载:Python灰帽子:黑客与逆向工程师的Python编程之道 提取码:tgpg 目录  · · · · · · 第1章 搭建开发环境 11.1 操作系统要求 11.2 获取和安装Pyt ...

  7. .Net Core in Docker极简入门(下篇)

    Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 Docker-Compose 代码修改 yml file up & down 镜像仓库 最后 前言 上一篇[. ...

  8. SpringCloud系列使用Eureka进行服务治理

    1. 什么是微服务? "微服务"一词来自国外的一篇博文,网站:https://martinfowler.com/articles/microservices.html 如果您不能看 ...

  9. 如何使用Istio 1.6管理多集群中的微服务?

    假如你正在一家典型的企业里工作,需要与多个团队一起工作,并为客户提供一个独立的软件,组成一个应用程序.你的团队遵循微服务架构,并拥有由多个Kubernetes集群组成的广泛基础设施. 由于微服务分布在 ...

  10. Python Tuple(元组) min()方法

    描述 Python 元组 min() 函数返回元组中元素最小值.高佣联盟 www.cgewang.com 语法 min()方法语法: min(tuple) 参数 tuple -- 指定的元组. 返回值 ...