概述

本文简单讲述一下,如何快速将一个内网的Web服务通过nginx提供给外网访问,并且启用HTTPS。例如我们部署了一个kubesphere,地址为192.168.202.151:30880,需要通过nginx来提供给外网访问,我们来看看在CentOS上如何进行快速部署。

安装

首先我们通过yum来安装nginx相关的服务

yum install -y nginx

安装完毕之后,我们启动nginx,并检查nginx状态

# 启动nginx
systemctl start nginx # 查看nginx服务状态
systemctl status nginx

服务正常运行之后,接下来我们创建一个目录,将我们的证书文件放入其中,个人使用可以从阿里云或者腾讯云等云平台申请免费的证书

# 创建目录存放证书,将证书文件复制到里面,示例证书文件为:mstmdev.com_bundle.crt  mstmdev.com.key
mkdir /etc/nginx/ssl_cert/

证书准备完毕之后,我们开始最后一步,编辑我们的nginx配置文件

vim /etc/nginx/nginx.conf

以下为修改后的配置文件,目的是将我们服务器上的http请求全部重定向到https上,并将https上的请求转发到内网服务192.168.202.151:30880之中,让我们可以通过外网域名访问我们的服务。

# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/ user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid; # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf; events {
worker_connections 1024;
} http {
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;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 4096; include /etc/nginx/mime.types;
default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf; upstream kubesphere{
server 192.168.202.151:30880;
}
# server {
# listen 80;
# listen [::]:80;
# server_name _;
# root /usr/share/nginx/html; # # Load configuration files for the default server block.
# include /etc/nginx/default.d/*.conf; # error_page 404 /404.html;
# location = /404.html {
# } # error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# }
# } server {
listen 80;
server_name mstmdev.com;
access_log /var/log/nginx/mstmdev_com_access.log main;
# 将http请求重定向为https
rewrite ^(.*)$ https://$host$1 permanent;
} # Settings for a TLS enabled server.
#
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name gors.cc;
# root /usr/share/nginx/html;
#
# 这里就是配置我们刚才存放的证书文件的路径
ssl_certificate "/etc/nginx/ssl_cert/mstmdev.com_bundle.crt";
ssl_certificate_key "/etc/nginx/ssl_cert/mstmdev.com.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
#
# # Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
#
# error_page 404 /404.html;
# location = /40x.html {
# }
#
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# } access_log /var/log/nginx/https_mstmdev_com.log main;
# 将https请求转发到我们的内网服务192.168.202.151:30880中
location / {
proxy_pass http://kubesphere/;
}
} }

配置文件修改完毕之后,重启nginx,使配置生效

systemctl restart nginx

此时我们将自己的域名的DNS解析到我们服务器的公网IP地址就可以在外网通过HTTPS地址访问kubesphere后台了。

如果想要在服务器重启后自动启动nginx,可以将其设置为开机启动

systemctl enable nginx

如果不再需要开机启动,将其禁用即可

systemctl disable nginx

更多详细的配置可以参考官方的文档:https://nginx.org/en/docs/

在CentOS中安装和使用nginx的更多相关文章

  1. 在centos中安装最新版nginx,同时更改官方文档路径错误

    nginx的可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息. 正式开始前,编译环境gcc g ++开发库之类的需要提前装好,这里默认你已经装好. ububtu平台编译 ...

  2. 在Centos中安装HustOJ实验记录

    hustoj是目前使用最广泛的刷题平台,自建平台是编程教学中重要一环,教,学,测,反思形成闭合回路.目前利用现有的服务器资源,建成了开高开源code中心,一个刷题系统,六月再建一个私有云,私有云不仅是 ...

  3. 在centos中安装jenkins master测试环境

    在centos中安装jenkins   1)安装目录 pwd (/home/AAA)   2)检查java是否安装 [AAA@Centos_AAA jenkins]$ java -version  j ...

  4. centos中安装chromium和flash

    安装环境:centos 6.5 64位 在centos中安装chromium 安装Google源 cd /etc/yum.repos.d/ sudo wget http://people.CentOS ...

  5. Centos中安装Sublime编辑器

    Centos中安装Sublime编辑器 1.从官网下载相应操作系统的下的安装包(http://www.sublimetext.com/2),这里下的是linux下的安装包 2.解压安装包,并将其放在/ ...

  6. centos中安装tomcat6

    在centos中安装tomcat6   1)通过yum自动安装tomcat和dependences root@Centos_AAA ~]# yum install tomcat6 [root@Cent ...

  7. centos中安装tomcat

    1.先保证centos中安装了jre的环境. 2.上传tomcat的压缩包到root根目录. 3.切换到根目录 输入命令cd ~ , 然后 ll , 查看上传情况: 4.选中复制压缩文件,输入解压命令 ...

  8. Docker学习笔记之-在CentOS中安装Docker

    上一节演示了如何 通过Xshell连接CentOS服务,链接:Docker学习笔记之-通过Xshell连接 CentOS服务 本节将演示 如何在CentOS中安装 Docker 第一步:更新系统包到最 ...

  9. centos中安装配置nginx完成之后主机无法访问

    原因 VMware中安装centos7,安装配置完成nginx后,主机无法访问.虚拟机没有放行Nginx默认端口80. 解决办法 首先:开启 web 端口 firewall-cmd --permane ...

  10. CentOS 7 安装php5.6,Nginx,Memcached环境及配置

    安装php5.6版本以后不再需要安装Zend Guard,而是用yum命令安装php-opcache及php-pecl-apcu就可以有效的提高php执行速度. 1. 配置yum源 事先确认yum源的 ...

随机推荐

  1. 049_Search Lookup (二)

    其实就是 在父object中 设置,search setting 中选中 enhanced lookup, and select the dialoge & Filter  默认looukp搜 ...

  2. MAC使用Graphviz包报错 failed to execute PosixPath('dot')

    在使用LightGBM进行可视化时,用到了Graphviz包,在安装Graphviz包时遇到了以下问题. 错误描述: ExecutableNotFound: failed to execute Pos ...

  3. zabbix监控mysql数据库——qps和tps

    首先可以继续顺着zabbix监控mysql继续往下做 1.首先在42的继续编写qps和tps 1.1qps 在41服务端查询: 1.2 tps 2.在web进行查看

  4. Word技巧:ALT+X快捷键

    Word技巧:ALT+X快捷键 在Word中输入数字,然后使用键盘快捷键「ALT + X」,即可快速生成一个文字图形. 部分数字的对比参照: 2564 ╤ 2582 ▂ 2600 2618 ☘ 256 ...

  5. Spring面试题大汇总

    1.Spring的IOC和AOP机制? 我们在使用spring框架其实就是为了实现IOC,依赖注入,和AOP,面向切面编程,主要有两种设计模式工厂模式和代理模式,IOC就是典型的工厂模式,通过sess ...

  6. 问题记录[ PPOME 修改子屏幕日期弹框,No changes to data, periods undone. Message no. 5A496 ]

    最近在做组织信息增强,将子屏幕嵌入PPOME后,修改日期后会弹出信息框并重置300屏幕的开始日期.且PO13和PP01无异常 刚开始以为7000屏幕配置问题,但是对比后并没发现异常.跟踪消息号发现函数 ...

  7. 2月26日Android开发学习

    1.App运行日志 Android采用Log工具打印日志,他讲各类日志划分为五个等级 (1)Log.e:表示错误信息,比如可能导致程序崩溃的异常. (2)Log.w:表示警告信息. (3)Log.i: ...

  8. 关于 indy Idhttp Post数据抛异常 connection closed Gracefully

    delphi 使用indy -idHttp 控件post 数据时 会报connection closed Gracefully这个异常的问题. 网上找了很多方法最多的就是 修改: MyHttp.Req ...

  9. VMware虚拟机中Ubuntu18.04无法连接网络的有效解决办法

    对VMware虚拟机进行恢复默认网络设置 恢复虚拟网络默认设置(在断网状态下): 1)Ubuntu网络设置自动获取IP 依次单击[System Settings]–>[Network]–> ...

  10. webpack逆向之报错Cannot read properties of undefined (reading 'call')

    经典报错 记录一下: 1: 缺少模块    补上 2.主模块无法调用子模块   有可能网站用的数组形式的模块包,你用的是对象,调用方法就要改变. 改写过程中 用的是对象方式: 那么3号包调用的4号包 ...