nginx配置Https访问并且解决CORS请求未能成功

 作为一名新手小白,分享自己解决nginx配置免费https的方法,解决cors请求失败

  1、安装Nginx(ubuntu)

           sudo apt-get install nginx

  2、生成SSL证书

          1.使用let’s encrypt颁发的免费SSL证书,安装软件

          sudo apt-get update  
          sudo  apt-get install software-properties-common  
          sudo  add-apt-repository ppa:certbot/certbot  
          sudo  apt-get update
          sudo  apt-get install python-certbot-nginx

         2.生成SSL证书

             certbot --nginx certonly

           SSL证书生成的目录/etc/letsencrypt/live/webrtc.olcms.com/,下面会有四个证书(cert.pem,chain.pem,fullchain.pem,privkey.pem)其中webrtc.olcms.com为自己的服务器域名

 3、修改配置文件/etc/nginx/sites-available/default

         添加如下配置

 upstream  rtc{
    server 127.0.0.1:9001;#你的程序端口
}
 server {
      listen 443;
	  
	 
      server_name cnki.545645.cn;#你的域名
	  
	   ssl on;
	   ssl_certificate /etc/letsencrypt/live/cnki.385073012.cn/fullchain.pem; 
	   ssl_certificate_key /etc/letsencrypt/live/cnki.385073012.cn/privkey.pem;
	   ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
        ssl_prefer_server_ciphers on;
    

      location / {
	    proxy_pass https://rtc;

        proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
		proxy_connect_timeout 5;
      }
	  

 }

 4、解决CORS请求未成功

server {
      listen 443;
	  
	 
      server_name cnki.385073012.cn;#你的域名
	  
	   ssl on;
	   ssl_certificate /etc/letsencrypt/live/cnki.385073012.cn/fullchain.pem; 
	   ssl_certificate_key /etc/letsencrypt/live/cnki.385073012.cn/privkey.pem;
	   ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
        ssl_prefer_server_ciphers on;
    

      location / {
	         proxy_pass https://rtc;
	         add_header 'Access-Control-Allow-Origin' '*';
	         add_header 'Access-Control-Allow-Origin' $http_origin;
	         add_header 'Access-Control-Allow-Credentials' 'true';
	         add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
	         add_header 'Access-Control-Allow-Headers' 'DNT,web-token,app-token,Authorization,Accept,Origin,Keep-Alive,User-Agent,X-Mx-ReqToken,X-Data-Type,X-Auth-Token,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
	         add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
	         if ($request_method = 'OPTIONS') {
		         add_header 'Access-Control-Max-Age' 1728000;
            	 add_header 'Content-Type' 'text/plain; charset=utf-8';
	          	add_header 'Content-Length' 0;
	         	return 204;
	        }
		
        proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
		proxy_connect_timeout 5;
      }
	  

 }

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值