nginx配置http和https

二话不说,先上配置信息

powershell 复制代码
#user  nobody;
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    client_max_body_size 100M;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
       # server_name  localhost;

		#配置服务器地址(这里域名和ip都配置了)
		server_name  **.com,www.***.com,47.96.82.59;


		#用户端
		location / {
			root   ./html/user;
			try_files $uri $uri/index.html
			index  index.html index.htm;
		}
		#商家端
		location /move {
			alias   ./html/technician-terminal;
			try_files $uri $uri/index.html
			index  index.html index.htm;
		}

		#管理端
        location /admin {
                alias   ./html/admin-pc;
                try_files $uri $uri/index.html
                index  index.html index.htm;

        }
		#通过nginx代理,在服务器上做文件服务,这个files是访问前缀,alias是需要代理的目标文件位置(/files/  为服务器根目录)
        location /files/ {
            alias /files/;  # 静态文件目录的别名
        }

		#代理转发API接口,前端页面可通过域名加prod-api的形式调用后端接口
        location /prod-api/ {
			#这里接的是ip+端口号,指向具体的服务器
            proxy_pass http://178.89.89.145:6001/;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;

        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        
    }




    # HTTPS server
    #
    server {
		#https对应的SSL端口,需要暴露出来
        listen       443 ssl;
		#服务域名
        server_name  www.****.com;
		#ssl证书,证书需要下载下了,放到NGINX配置里面,放到conf目录中,建立cert文件夹,在cert文件中存放两个证书文件
        ssl_certificate      cert/****.com.pem;
        ssl_certificate_key  cert/****.com.key;

		#用于配置SSL会话缓存。通过配置ssl_session_cache,Nginx可以缓存之前建立的SSL会话信息,以便在客户端再次发起连接时快速恢复会话,
		#从而减少SSL握手的时间和资源消耗。这种缓存机制可以提高SSL连接的建立速度,进而提升服务器的性能和响应速度
        ssl_session_cache    shared:SSL:1m;
		#参数用于指定客户端可以重用会话参数的时间。一旦超过这个时间,会话将不再可用
        ssl_session_timeout  5m;
		#加密方式
		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    	#表示使用的加密套件的类型。
    	ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。
       	ssl_prefer_server_ciphers on;
		location / {
		#这个是类似于跳转地址一样的东西,也就是服务域名(个人理解),这个域名必须是http得,否则会跨域
        	proxy_pass http://www.****.com/;
		}

    }

}

这一看配置文件就懂了吧,啥东西都有注释,写的明明白白的,这里面强调一下,就是https的最后一个类似于跳转链接的配置,这个一定要写域名,和服务地址那边的域名要保持一直,不然就有可能产生https的跨域问题,别的也没啥了,挺简单的一个配置,如有缺少说明,或者说明不对的,欢迎指正,这个配置文件是可用的,可以直接贴上去用,当然,配置SSL的环境数据,还是需要单独处理一下的,不会处理的,可以参考nginx安装SSL

相关推荐
小白的码BUG之路4 小时前
Docker -- 构建nginx镜像,启动vue项目
vue.js·nginx·docker
yume_sibai4 小时前
04-Nginx部署实战完全指南(前端部署 + 后端代理 + 监控告警 + 故障排查)
运维·前端·nginx
Lsetea5 小时前
ACME DNS-01报NXDOMAIN:_acme-challenge记录与权威DNS排查
https·dns·ssl证书·acme·dns-01
傲世仙尊5 小时前
HTTP请求与应答-URL全网唯一文件路径报文结构与短连接
网络·网络协议·http
Lsetea14 小时前
curl指定CA目录仍报证书不受信任:--capath与OpenSSL rehash排查
运维·https·ssl·openssl·curl
程序员清风15 小时前
Docker、Nginx 与 Kubernetes 部署 AI 后端服务
nginx·docker·kubernetes
Zelman19 小时前
协议栈数据流全景分析
网络协议·tcp/ip·https
吴声子夜歌1 天前
Nginx应用与运维——Nginx核心配置指令(一)
运维·nginx
Lsetea1 天前
OpenSSL报path length constraint exceeded:CA层级与pathlen排查
运维·https·ssl证书·openssl·证书链
傲世仙尊1 天前
HTTP起步-URL域名解析与协议的本质
网络·网络协议·http