搜索
热搜: 活动 交友 discuz
Hi~登录注册
查看: 3226|回复: 4
打印 上一主题 下一主题

FB小游戏开发准备六(Nginx 开启SSL服务及跨域处理)

[复制链接]

6

主题

10

帖子

149

积分

注册会员

Rank: 2

积分
149
跳转到指定楼层
楼主
发表于 2018-11-1 17:04:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用Let’s Encrypt的免费证书请参看之前帖子


准备工作安装nginx:
第一步 – 添加Nginx存储库要添加CentOS 7 EPEL仓库,请打开终端并使用以下命令:
  1. yum install epel-release
复制代码
第二步 – 安装Nginx
现在Nginx存储库已经安装在您的服务器上,使用以下yum命令安装Nginx :
  1. yum install nginx
复制代码
在对提示回答yes后,Nginx将在服务器上完成安装。

nginx 启动和停止:
  1. systemctl start nginx
  2. systemctl stop nginx
复制代码
如果想在系统启动时启用Nginx。请输入以下命令:
  1. systemctl enable nginx
复制代码

配置SSL服务第一步:进入到  /usr/local/nginx/html

复制一个   crossdomain.xml   过去允许跨域访问
  1. <?xml version="1.0"?>

  2. <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
  3. <cross-domain-policy>
  4.     <site-control permitted-cross-domain-policies="all"/>
  5.     <allow-access-from domain="*"/>
  6.     <allow-http-request-headers-from domain="*" headers="*"/>
  7. </cross-domain-policy>
复制代码
      

第二步:配置SSL
  1. server {
  2.         listen       443 ssl http2 default_server;
  3.         listen       [::]:443 ssl http2 default_server;
  4.         server_name  _;

  5.         ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  6.             ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
  7.             ssl_session_cache builtin:1000 shared:SSL:10m;
  8.         ssl_certificate "/etc/letsencrypt/live/code2048.net/fullchain.pem";
  9.         ssl_certificate_key "/etc/letsencrypt/live/code2048.net/privkey.pem";
  10.         ssl_session_timeout  10m;
  11.         ssl_prefer_server_ciphers on;
  12.         ssl_stapling on;
  13.         ssl_stapling_verify on;

  14.         # Load configuration files for the default server block.
  15.         include /etc/nginx/default.d/*.conf;

  16.         location /crossdomain.xml {
  17.                 alias /usr/share/nginx/html/crossdomain.xml;
  18.             }

  19.         location / {
  20.                 proxy_pass http://tomcat_game;
  21.                 proxy_set_header Host $host;
  22.                 proxy_set_header X-Real-IP $remote_addr;
  23.                 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  24.                 proxy_pass_request_headers              on;  
  25.         }

  26.         error_page 404 /404.html;
  27.             location = /40x.html {
  28.         }

  29.         error_page 500 502 503 504 /50x.html;
  30.             location = /50x.html {
  31.         }
  32.     }
复制代码


此处配置了代理,不需要可以无视
主要内容为:
  1.         listen       443 ssl http2 default_server;
  2.         listen       [::]:443 ssl http2 default_server;
  3.         server_name  _;

  4.         ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  5.             ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
  6.             ssl_session_cache builtin:1000 shared:SSL:10m;
  7.         ssl_certificate "/etc/letsencrypt/live/code2048.net/fullchain.pem";
  8.         ssl_certificate_key "/etc/letsencrypt/live/code2048.net/privkey.pem";
  9.         ssl_session_timeout  10m;
  10.         ssl_prefer_server_ciphers on;
  11.         ssl_stapling on;
  12.         ssl_stapling_verify on;
复制代码

fullchain.pem   和  privkey.pem   为申请的Let’s Encrypt的免费证书
也可以使用工具 转换成 crt  和 key 文件 转换工具:https://github.com/Neilpang/acme ... -to-apachenginx-etc

启动服务
配置完成后启动服务


来源:http://blog.airmyth.com/450.html




回复

使用道具 举报

6

主题

10

帖子

149

积分

注册会员

Rank: 2

积分
149
沙发
 楼主| 发表于 2018-11-1 17:12:52 | 只看该作者
Tomcat  跨域处理
创建全局过滤器:

CorssFilter.java

  1. package com.airmyth.filter;

  2. import java.io.IOException;

  3. import javax.servlet.Filter;
  4. import javax.servlet.FilterChain;
  5. import javax.servlet.FilterConfig;
  6. import javax.servlet.ServletException;
  7. import javax.servlet.ServletRequest;
  8. import javax.servlet.ServletResponse;
  9. import javax.servlet.http.HttpServletResponse;

  10. public class CorssFilter implements  Filter {

  11.         @Override
  12.         public void destroy() {
  13.                 // TODO Auto-generated method stub
  14.                
  15.         }

  16.         @Override
  17.         public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
  18.                 HttpServletResponse httpResponse = (HttpServletResponse) servletResponse;
  19.         httpResponse.addHeader("Access-Control-Allow-Origin", "*");
  20.         httpResponse.setHeader("Access-Control-Allow-Headers", "*");
  21.         httpResponse.setHeader("Access-Control-Allow-Methods", "GET, PUT, DELETE, POST");
  22.         filterChain.doFilter(servletRequest, servletResponse);
  23.         }

  24.         @Override
  25.         public void init(FilterConfig arg0) throws ServletException {
  26.                 // TODO Auto-generated method stub
  27.                
  28.         }

  29. }
复制代码


把这个打成jar包   放到  Tomcat  的  lib 文件夹下,然后修改  conf/web.xml
加入过滤器配置:


  1.   <filter>
  2.       <filter-name>corssFilter</filter-name>
  3.       <filter-class>com.airmyth.filter.CorssFilter</filter-class>
  4.   </filter>
  5.   <filter-mapping>
  6.       <filter-name>corssFilter</filter-name>
  7.       <url-pattern>/*</url-pattern>
  8.   </filter-mapping>
复制代码



然后重启  Tomcat

jar包见附件:

lib.rar (1.21 KB, 下载次数: 1)

回复 支持 反对

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
板凳
发表于 2018-11-13 15:09:10 | 只看该作者
Windows7系统的怎么弄?
回复 支持 反对

使用道具 举报

6

主题

10

帖子

149

积分

注册会员

Rank: 2

积分
149
地板
 楼主| 发表于 2018-11-19 18:08:32 | 只看该作者
saladin 发表于 2018-11-13 15:09
Windows7系统的怎么弄?

windows没搞过哦
回复 支持 反对

使用道具 举报

0

主题

22

帖子

63

积分

注册会员

Rank: 2

积分
63
5#
发表于 2018-12-17 13:23:20 | 只看该作者
强烈感谢楼主
回复 支持 反对

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 立即注册

快速回复 返回顶部 返回列表