http://git-wip-us.apache.org/repos/asf/incubator-servicecomb-website/blob/08e1b43f/content/cn/users/use-servicecomb-in-spring-boot/index.html ---------------------------------------------------------------------- diff --git a/content/cn/users/use-servicecomb-in-spring-boot/index.html b/content/cn/users/use-servicecomb-in-spring-boot/index.html new file mode 100644 index 0000000..c1c8f39 --- /dev/null +++ b/content/cn/users/use-servicecomb-in-spring-boot/index.html @@ -0,0 +1,941 @@ +<!doctype html> +<!-- + Minimal Mistakes Jekyll Theme 4.4.1 by Michael Rose + Copyright 2017 Michael Rose - mademistakes.com | @mmistakes + Free for personal and commercial use under the MIT license + https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt +--> +<html lang="cn" class="no-js"> + <head> + <meta charset="utf-8"> + +<!-- begin SEO --> + + + + + + + + + +<title>å¨Spring Bootä¸ä½¿ç¨ServiceComb - Apache incubator ServiceComb</title> + + + + +<meta name="description" content="å¨Spring Bootä¸ä½¿ç¨ServiceComb"> + + + + +<meta name="author" content=""> + +<meta property="og:locale" content="cn"> +<meta property="og:site_name" content="Apache incubator ServiceComb"> +<meta property="og:title" content="å¨Spring Bootä¸ä½¿ç¨ServiceComb"> + + + <link rel="canonical" href="http://github.com/pages/ServiceComb/servicesomb.github.io/cn/users/use-servicecomb-in-spring-boot/"> + <meta property="og:url" content="http://github.com/pages/ServiceComb/servicesomb.github.io/cn/users/use-servicecomb-in-spring-boot/"> + + + + <meta property="og:description" content="å¨Spring Bootä¸ä½¿ç¨ServiceComb"> + + + + <meta name="twitter:site" content="@ServiceComb"> + <meta name="twitter:title" content="å¨Spring Bootä¸ä½¿ç¨ServiceComb"> + <meta name="twitter:description" content="å¨Spring Bootä¸ä½¿ç¨ServiceComb"> + <meta name="twitter:url" content=""> + + + <meta name="twitter:card" content="summary"> + + + + + + + + + + + + + + + + + + + + + + + <script type="application/ld+json"> + { + "@context" : "http://schema.org", + "@type" : "Person", + "name" : "Apache incubator ServiceComb", + "url" : "http://github.com/pages/ServiceComb/servicesomb.github.io", + "sameAs" : null + } + </script> + + + + <meta name="google-site-verification" content="HvJjNd7vvJ-yjSTHlBiIWEYxp_Hrz-PYEY5Idz9LRcA" /> + + + + +<!-- end SEO --> + + +<link href="/feed.xml" type="application/atom+xml" rel="alternate" title="Apache incubator ServiceComb Feed"> + +<!-- http://t.co/dKP3o1e --> +<meta name="HandheldFriendly" content="True"> +<meta name="MobileOptimized" content="320"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<script> + document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js '; +</script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js"></script> +<script src="/assets/js/prism.js"></script> + +<script type="text/javascript" async + src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML"> +</script> + +<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous"> + +<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script> +<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script> +<!-- For all browsers --> +<link rel="stylesheet" href="/assets/css/main.css"> +<link rel="stylesheet" href="/assets/css/prism.css"> + +<!--[if lte IE 9]> + <style> + /* old IE unsupported flexbox fixes */ + .greedy-nav .site-title { + padding-right: 3em; + } + .greedy-nav button { + position: absolute; + top: 0; + right: 0; + height: 100%; + } + </style> +<![endif]--> + +<meta http-equiv="cleartype" content="on"> + + <!-- start custom head snippets --> + +<!-- insert favicons. use http://realfavicongenerator.net/ --> +<link href="https://fonts.cat.net/css?family=Roboto:400,500,700|Source+Code+Pro" rel="stylesheet"> +<script src="/assets/js/custom.js"></script> +<!-- end custom head snippets --> + + </head> + + <body class="layout--single"> + + <!--[if lt IE 9]> +<div class="notice--danger align-center" style="margin: 0;">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div> +<![endif]--> + <div class="masthead"> + <div class="masthead__inner-wrap"> + <div class="masthead__menu"> + <nav id="site-nav" class="greedy-nav"> + + <a class="site-title active" href="/cn"><img src="//assets/images/ServiceComb-logo-1.png"></a> + + <ul class="visible-links"> + + + <li class="masthead__menu-item"> + + + + <a href="/cn/docs/quick-start/">å¿«éå ¥é¨</a> + + </li> + + + <li class="masthead__menu-item"> + + + + <a class="active" href="/cn/users/">ç¨æ·æå</a> + + </li> + + + <li class="masthead__menu-item"> + + + + <a href="/cn/developers/">å¼åè æå</a> + + </li> + + + <li class="masthead__menu-item"> + + + + <a href="/cn/year-archive/">åæ</a> + + </li> + + + <li class="masthead__menu-item"> + + + + <a href="/cn/faqs/">常è§é®é¢</a> + + </li> + + </ul> + <button><div class="navicon"></div></button> + <ul class="hidden-links hidden"></ul> + <div class="nav-lang"> + + + + <a href=/users/use-servicecomb-in-spring-boot/>English</a> + + </div> + </nav> + </div> + </div> +</div> + + + + + + +<div id="main" role="main"> + + <div class="sidebar sticky"> + + <div class="back-to-home">é¦é¡µ > <a href="/cn/">ServiceComb</a></div> + + + + + + + + + + + +<nav class="nav__list"> + + <input id="ac-toc" name="accordion-toc" type="checkbox" /> + <label for="ac-toc">åæ¢èå</label> + <ul class="nav__items"> + + <li> + + <span class="nav__sub-title">ç¨æ·æå</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/" class="">Java Chassisç³»ç»æ¶æ</a></li> + + + + + + + + <li><a href="/cn/users/setup-environment/" class="">ç¯å¢é ç½®</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">å¼åæå¡æä¾è </span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/service-definition/" class="">æå¡å®ä¹</a></li> + + + + + + + + <li><a href="/cn/users/service-contract/" class="">æå¡å¥çº¦</a></li> + + + + + + + + <li><a href="/cn/users/develop-with-springmvc/" class="">ç¨SpringMVCå¼åå¾®æå¡</a></li> + + + + + + + + <li><a href="/cn/users/develop-with-jax-rs/" class="">ç¨JAX-RSå¼åå¾®æå¡</a></li> + + + + + + + + <li><a href="/cn/users/develop-with-transparent-rpc/" class="">ç¨éæRPCå¼åå¾®æå¡</a></li> + + + + + + + + <li><a href="/cn/users/service-interface-constraints/" class="">æå¡æ¥å£çº¦æ</a></li> + + + + + + + + <li><a href="/cn/users/service-configurations/" class="">æå¡é ç½®</a></li> + + + + + + + + <li><a href="/cn/users/communicate-protocol/" class="">éä¿¡åè®®</a></li> + + + + + + + + <li><a href="/cn/users/application-boot-process/" class="">ç¨åºå¯å¨é»è¾</a></li> + + + + + + + + <li><a href="/cn/users/service-heartbeat/" class="">æå¡å¿è·³</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">å¼åæå¡æ¶è´¹è </span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/develop-with-rest-template/" class="">使ç¨Rest Templateæ¹å¼å¼å</a></li> + + + + + + + + <li><a href="/cn/users/develop-with-rpc/" class="">使ç¨RPCæ¹å¼å¼å</a></li> + + + + + + + + <li><a href="/cn/users/use-service-contract/" class="">使ç¨æå¡å¥çº¦</a></li> + + + + + + + + <li><a href="/cn/users/invoke-control/" class="">è°ç¨æ§å¶</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">éç¨å¼å</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/local-develop-test/" class="">æ¬å°å¼åä¸æµè¯</a></li> + + + + + + + + <li><a href="/cn/users/use-servicecomb-in-spring-boot/" class="active">å¨Spring Bootä¸ä½¿ç¨ServiceComb</a></li> + + + + + + + + <li><a href="/cn/users/distributed-tracing/" class="">åå¸å¼è°ç¨é¾è¿½è¸ª</a></li> + + + + + + + + <li><a href="/cn/users/customized-tracing/" class="">èªå®ä¹è°ç¨é¾æç¹</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">æå¡è½åå¼æ¾</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/edging-service/nginx/" class="">使ç¨confdåNginxåè¾¹ç¼æå¡</a></li> + + + + + + + + <li><a href="/cn/users/edging-service/zuul/" class="">使ç¨Zuulåè¾¹ç¼æå¡</a></li> + + </ul> + + </li> + + <li> + + + + + <a href="/cn/users/metrics/"><span class="nav__sub-title nav__sub-title-with-url">çæ§</span></a> + + + + </li> + + <li> + + <span class="nav__sub-title">é¨ç½²</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/run-mode/" class="">è¿è¡æ¨¡å¼</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">å¾®æå¡å®å ¨</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/use-tls/" class="">使ç¨TLSéä¿¡</a></li> + + </ul> + + </li> + + </ul> +</nav> + + + + </div> + + + + <article class="page" itemscope itemtype="http://schema.org/CreativeWork"> + <meta itemprop="headline" content="å¨Spring Bootä¸ä½¿ç¨ServiceComb"> + <meta itemprop="description" content="å¨Spring Bootä¸ä½¿ç¨ServiceComb"> + + <meta itemprop="dateModified" content="August 15, 2017"> + + <div class="page__inner-wrap"> + + + <header> + <h1 class="page__title" itemprop="headline">å¨Spring Bootä¸ä½¿ç¨ServiceComb +</h1> + + </header> + + + + <section class="page__content" itemprop="text"> + <aside class="sidebar__right"> +<nav class="toc"> + <!-- <header><h4 class="nav__title"><i class="fa fa-file-text"></i> å¨æ¬é¡µä¸</h4></header> --> +<ul class="toc__menu" id="markdown-toc"> + <li><a href="#使ç¨service-centeråæ²»çä¸å¿ç®¡çspring-cloudåºç¨" id="markdown-toc-使ç¨service-centeråæ²»çä¸å¿ç®¡çspring-cloudåºç¨">使ç¨Service Centeråæ²»çä¸å¿ç®¡çSpring Cloudåºç¨</a> <ul> + <li><a href="#æ¦å¿µéè¿°" id="markdown-toc-æ¦å¿µéè¿°">æ¦å¿µéè¿°</a></li> + <li><a href="#åºæ¯æè¿°" id="markdown-toc-åºæ¯æè¿°">åºæ¯æè¿°</a></li> + <li><a href="#é 置说æ" id="markdown-toc-é 置说æ">é 置说æ</a></li> + </ul> + </li> + <li><a href="#å¨servicecombæ¡æ¶ä¸éæspring-bootæ¡æ¶" id="markdown-toc-å¨servicecombæ¡æ¶ä¸éæspring-bootæ¡æ¶">å¨ServiceCombæ¡æ¶ä¸éæSpring Bootæ¡æ¶</a> <ul> + <li><a href="#æ¦å¿µéè¿°-1" id="markdown-toc-æ¦å¿µéè¿°-1">æ¦å¿µéè¿°</a></li> + <li><a href="#åºæ¯æè¿°-1" id="markdown-toc-åºæ¯æè¿°-1">åºæ¯æè¿°</a></li> + <li><a href="#servicecombéæspringboot" id="markdown-toc-servicecombéæspringboot">ServiceCombéæSpringBoot</a></li> + </ul> + </li> +</ul> + + </nav> +</aside> + +<h2 id="使ç¨service-centeråæ²»çä¸å¿ç®¡çspring-cloudåºç¨">使ç¨Service Centeråæ²»çä¸å¿ç®¡çSpring Cloudåºç¨</h2> +<h3 id="æ¦å¿µéè¿°">æ¦å¿µéè¿°</h3> + +<p>æ¬å°èä»ç»å¨SpringCloudåçåºç¨ä¸ï¼éè¿æ¹åç¸å ³é ç½®ï¼è®©SpringCloudåºç¨ä½¿ç¨ServiceCombå¾®æå¡æ¡æ¶ä¸çService Centeråæ²»çä¸å¿ã</p> + +<h3 id="åºæ¯æè¿°">åºæ¯æè¿°</h3> + +<ul> + <li> + <p>SpringCloudåºç¨é»è®¤æ åµä¸ç±Spring Cloud Eurekaæä¾å¨åå¸å¼ç¯å¢ä¸çæå¡åç°åæå¡æ³¨åçåè½ã</p> + + <p><img src="/assets/images/manage_springcloud_application_using_sc_and_gs.png" alt="" /></p> + </li> + <li> + <p>ServiceCombå¾®æå¡æ¡æ¶ä¸çService Centerç¨äºæå¡å æ°æ®ä»¥åæå¡å®ä¾å æ°æ®ç管çåå¤ç注åãåç°ï¼åæ¶è¿æ¯æ以ä¸åè½ï¼</p> + </li> +</ul> + +<blockquote> + <ul> + <li> + <p>æ¯æpull/push两ç§æ¨¡å¼çæ§å®ä¾åå</p> + </li> + <li> + <p>å®ä¾å¨ææ©å®¹ï¼æµ·éçé¿è¿æ¥æè çè¿æ¥</p> + </li> + <li> + <p>æ¯æç°åº¦åå¸ãæå¡åç»çé«çº§ç®¡çç¹æ§</p> + </li> + </ul> +</blockquote> + +<p>使ç¨SpringBoot/Cloudå¼ååºç¨ï¼å¹¶è®©æå¡è¿è¡äºServiceCombå¾®æå¡SDK容å¨ä¸ï¼ä½¿ç¨å ¶é«æ§è½éä¿¡ãæå¡æ²»çãåå¸å¼äºå¡ç®¡ççåè½ã</p> + +<h3 id="é 置说æ">é 置说æ</h3> + +<p>使ç¨SpringBoot/Cloudå¼ååºç¨ï¼å¨åæåºç¨çåºç¡ä¸æç §ä»¥ä¸æ¥éª¤è¿è¡æä½ï¼å³å¯å¯¹æ¥ServiceCombçSDKåç»ä»¶ï¼</p> + +<ul> + <li> + <p><strong>æ¥éª¤ 1</strong> å¨pomä¸æ·»å ä¾èµç®¡çdependencyManagementï¼</p> + + <div class="language-xml highlighter-rouge"><pre class="highlight"><code> <span class="nt"><dependencyManagement></span> + <span class="nt"><dependencies></span> + <span class="nt"><dependency></span> + <span class="nt"><groupId></span>io.servicecomb<span class="nt"></groupId></span> + <span class="nt"><artifactId></span>java-chassis-dependencies<span class="nt"></artifactId></span> + <span class="nt"><version></span>0.1.0<span class="nt"></version></span> + <span class="nt"><type></span>pom<span class="nt"></type></span> + <span class="nt"><scope></span>import<span class="nt"></scope></span> + <span class="nt"></dependency></span> + <span class="nt"></dependencies></span> + <span class="nt"></dependencyManagement></span> +</code></pre> + </div> + </li> + <li> + <p><strong>æ¥éª¤ 2</strong> å¨pomä¸æ·»å ä¾èµï¼</p> + + <div class="language-xml highlighter-rouge"><pre class="highlight"><code> <span class="nt"><dependency></span> + <span class="c"><!--让æå¡è¿è¡äºå¾®æå¡sdk容å¨ä¸--></span> + <span class="nt"><group></span>io.servicecomb<span class="nt"></group></span> + <span class="nt"><artifactId></span>spring-boot-starter-provider<span class="nt"></artifactId></span> + <span class="nt"></dependency></span> + <span class="nt"><dependency></span> + <span class="c"><!--使ç¨æå¡ä¸å¿--></span> + <span class="nt"><group></span>io.servicecomb<span class="nt"></group></span> + <span class="nt"><artifactId></span>spring-boot-starter-discovery<span class="nt"></artifactId></span> + <span class="nt"></dependency></span> + <span class="nt"><dependency></span> + <span class="c"><!--让æå¡è¿è¡äºSpring boot embeded tomatä¸--></span> + <span class="nt"><group></span>io.servicecomb<span class="nt"></group></span> + <span class="nt"><artifactId></span>spring-boot-starter-transport<span class="nt"></artifactId></span> + <span class="nt"></dependency></span> + <span class="nt"><dependency></span> + <span class="nt"><groupId></span>org.springframework.boot<span class="nt"></groupId></span> + <span class="nt"><artifactId></span>spring-boot-starter-web<span class="nt"></artifactId></span> + <span class="nt"></dependency><dependency></span> + <span class="nt"><groupId></span>org.springframework.boot<span class="nt"></groupId></span> + <span class="nt"><artifactId></span>spring-boot-starter-actuator<span class="nt"></artifactId></span> + <span class="nt"></dependency></span> +</code></pre> + </div> + </li> + <li> + <p><strong>æ¥éª¤ 3</strong> é ç½®å¤çé¾ååè®®ï¼</p> + + <p>å¨resourcesç®å½ä¸æ°å»ºmicroservice.yamlæ件ï¼å¯¹æå¡è¿è¡å®ä¹ï¼è¯¦ç»å®ä¹è§å请åè<a href="/cn/users/service-definition/">æå¡å®ä¹ç« è</a>ï¼ç¤ºä¾å¦ä¸ï¼</p> + + <div class="language-yaml highlighter-rouge"><pre class="highlight"><code> <span class="s">APPLICATION_ID</span><span class="pi">:</span> <span class="s">discoverytest</span> + <span class="s">service_description</span><span class="pi">:</span> + <span class="s">name</span><span class="pi">:</span> <span class="s">discoveryServer</span> + <span class="s">version</span><span class="pi">:</span> <span class="s">0.0.2</span> + <span class="s">cse</span><span class="pi">:</span> + <span class="s">service</span><span class="pi">:</span> + <span class="s">registry</span><span class="pi">:</span> + <span class="s">address</span><span class="pi">:</span> <span class="s">http://127.0.0.1:30100</span> <span class="c1">#æå¡æ³¨åä¸å¿å°å</span> + <span class="err"> </span><span class="s">rest</span><span class="pi">:</span> + <span class="s">address</span><span class="pi">:</span> <span class="s">0.0.0.0:8080</span> <span class="c1">#æå¡åå¸ç端å£</span> + <span class="s">handler</span><span class="pi">:</span> + <span class="s">chain</span><span class="pi">:</span> + <span class="s">Provider</span><span class="pi">:</span> + <span class="s">default</span><span class="pi">:</span> <span class="s">bizkeeper-provider</span> <span class="c1">#è°ç¨çå¤çé¾</span> +</code></pre> + </div> + </li> + <li> + <p><strong>æ¥éª¤4</strong> è¥è¦ä½¿ç¨ServiceCombçæå¡ä¸å¿ï¼</p> + + <p>å¨pomä¸æ·»å ä¾èµï¼</p> + + <div class="language-java highlighter-rouge"><pre class="highlight"><code> <span class="o"><</span><span class="n">dependency</span><span class="o">></span> + <span class="o"><!--</span><span class="err">使ç¨æå¡ä¸å¿</span><span class="o">--></span> + <span class="o"><</span><span class="n">group</span><span class="o">></span><span class="n">io</span><span class="o">.</span><span class="na">servicecomb</span><span class="o"></</span><span class="n">group</span><span class="o">></span> + <span class="o"><</span><span class="n">artifactId</span><span class="o">></span><span class="n">spring</span><span class="o">-</span><span class="n">boot</span><span class="o">-</span><span class="n">starter</span><span class="o">-</span><span class="n">discovery</span><span class="o"></</span><span class="n">artifactId</span><span class="o">></span> + <span class="o"></</span><span class="n">dependency</span><span class="o">></span> +</code></pre> + </div> + </li> + <li> + <p><strong>æ¥éª¤ 5</strong> å¨å¯å¨ç±»æ·»å 注解@EnableServiceCombï¼</p> + + <div class="language-java highlighter-rouge"><pre class="highlight"><code> <span class="nd">@EnableDiscoveryClient</span> + <span class="nd">@SpringBootApplication</span> + <span class="nd">@EnableServiceComb</span> <span class="c1">//æ°å¢æ³¨è§£</span> + <span class="kd">public</span> <span class="kd">class</span> <span class="nc">xxxServer</span> <span class="o">{</span> + <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span> + <span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">xxxServer</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">);</span> + <span class="o">}</span> + <span class="o">}</span> +</code></pre> + </div> + </li> + <li> + <p><strong>æ¥éª¤ 6</strong> å®ä¹æå¡å¥çº¦ï¼å ·ä½è¯·åè<a href="/cn/users/service-contract/">æå¡å¥çº¦</a>ï¼ç¤ºä¾å¦ä¸ï¼</p> + + <div class="language-java highlighter-rouge"><pre class="highlight"><code> <span class="c1">// ControllerImpl.class:</span> + <span class="nd">@RestSchema</span><span class="o">(</span><span class="n">schemaId</span> <span class="o">=</span> <span class="s">"test"</span><span class="o">)</span> + <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/compute"</span><span class="o">,</span> <span class="n">produces</span> <span class="o">=</span> <span class="n">MediaType</span><span class="o">.</span><span class="na">TEXT_PLAIN</span><span class="o">)</span> + <span class="kd">public</span> <span class="kd">class</span> <span class="nc">ControllerImpl</span> <span class="o">{</span> + <span class="nd">@ResponseBody</span> + <span class="nd">@RequestMapping</span><span class="o">(</span><span class="n">path</span> <span class="o">=</span> <span class="s">"/hello/{name}"</span><span class="o">,</span> <span class="n">method</span> <span class="o">=</span> <span class="n">RequestMethod</span><span class="o">.</span><span class="na">GET</span><span class="o">)</span> + <span class="kd">public</span> <span class="n">String</span> <span class="nf">add</span><span class="o">(</span><span class="nd">@PathVariable</span> <span class="n">String</span> <span class="n">name</span><span class="o">)</span> <span class="o">{</span> + <span class="k">return</span> <span class="s">"hello"</span> <span class="o">+</span> <span class="n">name</span><span class="o">;</span> + <span class="o">}</span> + <span class="o">}</span> +</code></pre> + </div> + </li> + <li> + <p><strong>æ¥éª¤ 7</strong> å¯å¨xxxServerï¼è¯¥æå¡ä¾¿å¯æ³¨åå°ServieCombçService Centerã</p> + </li> +</ul> + +<h2 id="å¨servicecombæ¡æ¶ä¸éæspring-bootæ¡æ¶">å¨ServiceCombæ¡æ¶ä¸éæSpring Bootæ¡æ¶</h2> +<h3 id="æ¦å¿µéè¿°-1">æ¦å¿µéè¿°</h3> + +<p>æ¬å°èä»ç»äºå¨ServiceCombæ¡æ¶ä¸éæSpringBootæ¡æ¶ç好å¤åæä½æ¥éª¤ã</p> + +<h3 id="åºæ¯æè¿°-1">åºæ¯æè¿°</h3> + +<h4 id="springbootæ¡æ¶"><strong>SpringBootæ¡æ¶</strong></h4> + +<p>ããSpring Bootæ¯ç±Pivotalå¢éæä¾çå ¨æ°æ¡æ¶ï¼å ¶è®¾è®¡ç®çæ¯ç¨æ¥ç®åæ°Springåºç¨çåå§æ建以åå¼åè¿ç¨ã该æ¡æ¶ä½¿ç¨äºç¹å®çæ¹å¼æ¥è¿è¡é ç½®ï¼ä»è使å¼å人åä¸åéè¦å®ä¹æ ·æ¿åçé ç½®ãä»ææ ¹æ¬ä¸æ¥è®²ï¼Spring Bootå°±æ¯ä¸äºåºçéåï¼å®è½å¤è¢«ä»»æ项ç®çæ建系ç»æ使ç¨ãBootçåè½æ¯æ¨¡ååçï¼éè¿å¯¼å ¥Bootæè°çâstarterâ模åï¼å¯ä»¥å°è®¸å¤çä¾èµæ·»å å°å·¥ç¨ä¸ã</p> + +<h4 id="å¨servicecombä¸éæspringboot"><strong>å¨ServiceCombä¸éæSpringBoot</strong></h4> + +<p>ãã使ç¨åççServiceCombæ¡æ¶å¼åå¾®æå¡åºç¨ï¼å¦è¥éè¦ä½¿ç¨ServiceCombæ¡æ¶æä¾çå项åè½æå¡ï¼éè¦å¨å¾®æå¡é¡¹ç®å·¥ç¨pomæ件ä¸æ·»å ç¸åºçä¾èµå ï¼ä¾å¦éè¦ä½¿ç¨ServiceCombæ¡æ¶æä¾çè´è½½åè¡¡æå¡ï¼éè¦æ·»å handler-loadbalanceå ä¾èµãè¿æ ·å¯ä»¥æServiceCombæä¾çè½å以starterçæ¹å¼æå ¥Spring Bootä¸ï¼åæ¶ä½¿ç¨Spring Bootä¸æä¾çå ¶ä»å¼ç®±å³ç¨çstarterï¼ä¾å¦SpringCloudï¼ä¸èµ·æ建微æå¡ã</p> + +<h3 id="servicecombéæspringboot">ServiceCombéæSpringBoot</h3> + +<p>ããé¦å 使ç¨ServiceCombæ¡æ¶å¼åå¾®æå¡åºç¨ï¼è¯¦ç»æ¥éª¤è¯·åè<a href="/cn/users/service-definition/">å¼åæå¡æä¾è </a>ä¸<a href="/cn/users/develop-with-rest-template/">å¼åæå¡æ¶è´¹è </a>ãç¶åå¨è¿ä¸ªåºç¡ä¸éæSpringBootæ¡æ¶ã</p> + +<p>ããå¨å¯¹åºç¨è¿è¡SpringBootæ¡æ¶éé åï¼è¯·ç¡®ä¿åºç¨è½å¤æ£å¸¸è¿è¡ï¼å¹¶ä¸è½å¤ä»ä¸å¤®çmavenåºä¸è½½ä¾èµçèµæºã</p> + +<ul> + <li> + <p><strong>æ¥éª¤ 1</strong> å¨å·¥ç¨pomæ件添å <dependencyManagement>èç¹ï¼</p> + + <div class="language-xml highlighter-rouge"><pre class="highlight"><code> <span class="nt"><dependencyManagement></span> + <span class="nt"><dependencies></span> + <span class="nt"><dependency></span> + <span class="nt"><groupId></span>io.servicecomb<span class="nt"></groupId></span> + <span class="nt"><artifactId></span>java-chassis-dependencies<span class="nt"></artifactId></span> + <span class="nt"><version></span>0.1.0<span class="nt"></version></span> + <span class="nt"><type></span>pom<span class="nt"></type></span> + <span class="nt"><scope></span>import<span class="nt"></scope></span> + <span class="nt"></dependency></span> + <span class="nt"></dependencies></span> + <span class="nt"></dependencyManagement></span> +</code></pre> + </div> + </li> + <li> + <p><strong>æ¥éª¤ 2</strong> æ·»å å¦ä¸ä¾èµï¼</p> + + <p>å¼å ¥ServiceCombæä¾çSpring Bootä¾èµ</p> + + <div class="language-xml highlighter-rouge"><pre class="highlight"><code> <span class="nt"><dependency></span> + <span class="nt"><groupId></span>io.servicecomb<span class="nt"></groupId></span> + <span class="nt"><artifactId></span>spring-boot-starter-provider<span class="nt"></artifactId></span> + <span class="nt"></dependency></span> +</code></pre> + </div> + + <p>å¼å ¥Spring Bootä¾èµ</p> + + <div class="language-xml highlighter-rouge"><pre class="highlight"><code> <span class="nt"><dependency></span> + <span class="nt"><groupId></span>org.springframework.boot<span class="nt"></groupId></span> + <span class="nt"><artifactId></span>spring-boot-starter-web<span class="nt"></artifactId></span> + <span class="nt"></dependency></span> + <span class="nt"><dependency></span> + <span class="nt"><groupId></span>org.springframework.boot<span class="nt"></groupId></span> + <span class="nt"><artifactId></span>spring-boot-starter-actuator<span class="nt"></artifactId></span> + <span class="nt"></dependency></span> +</code></pre> + </div> + </li> + <li> + <p><strong>æ¥éª¤ 3</strong> å¨resourcesç®å½ä¸æ°å»ºapplication.ymlæ件ï¼æ件å 容å¦ä¸ï¼</p> + + <div class="language-yaml highlighter-rouge"><pre class="highlight"><code> <span class="s">server</span><span class="pi">:</span> + <span class="s">port</span><span class="pi">:</span> <span class="s">7999</span> <span class="c1">#æ¤å¤ç端å£ä¸ºspringbootæå¡ç«¯å£</span> +</code></pre> + </div> + </li> + <li> + <p><strong>æ¥éª¤ 4</strong> 为微æå¡å¯å¨ç±»æ·»å 注解ï¼</p> + + <div class="language-java highlighter-rouge"><pre class="highlight"><code> <span class="kn">package</span> <span class="n">xxx</span> + <span class="kn">import</span> <span class="nn">xxx</span> + <span class="nd">@SpringBootApplication</span> <span class="c1">//æ°å¢æ³¨è§£</span> + <span class="nd">@EnableServiceComb</span> <span class="c1">//æ°å¢æ³¨è§£</span> + <span class="kd">public</span> <span class="kd">class</span> <span class="nc">xxxServer</span><span class="o">/</span><span class="n">Client</span> <span class="o">{</span> + <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="kd">final</span> <span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span> + <span class="err">ã</span> <span class="n">Log4jUtils</span><span class="o">.</span><span class="na">init</span><span class="o">();</span> + <span class="err">ã</span><span class="c1">//BeanUtils.init();</span> + <span class="err">ã</span><span class="n">SpringApplication</span><span class="o">.</span><span class="na">run</span><span class="o">(</span><span class="n">xxxServerOrClient</span><span class="o">.</span><span class="na">class</span><span class="o">,</span> <span class="n">args</span><span class="o">)</span> + <span class="o">}</span> + <span class="o">}</span> +</code></pre> + </div> + </li> + <li> + <p><strong>æ¥éª¤ 5</strong> è¿è¡/è°è¯åºç¨ã</p> + </li> +</ul> + + + </section> + + <footer class="page__meta"> + + + + + + </footer> + + + + + + </div> + + + </article> + + + +</div> + + + <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> + <div align="center" style="margin: 0 0;"> + <ins class="adsbygoogle" + style="display:block; border-bottom: initial;" + data-ad-client="ca-pub-7328585512091257" + data-ad-slot="3049671934" + data-ad-format="auto"></ins> + </div> + + <div class="page__footer"> + <footer> + <!-- start custom footer snippets --> + +<!-- end custom footer snippets --> + <div class="container"> + <div class="row justify-content-md-center"> + + <div class="col"> + <ul> + <p class="header">èµæº</p> + <li><a href="/cn/docs/quick-start/">å¿«éå ¥é¨</a></li> + <li><a href="/cn/users/user-guide/">ç¨æ·æå</a></li> + <li><a href="/cn/slides/">èµæ</a></li> + <li><a href="/cn/users/faq/">常è§é®é¢</a></li> + </ul> + </div> + <div class="col"> + <ul> + <p class="header">è´¡ç®</p> + <li><a href="https://github.com/ServiceComb/ServiceComb.github.io/issues/new?title=Issue with _users/cn/use-servicecomb-in-spring-boot.md">æ¥åæ¬ç½é¡µé®é¢</a></li> + <li><a href="https://github.com/ServiceComb/ServiceComb.github.io/edit/master/_users/cn/use-servicecomb-in-spring-boot.md">å¨Githubä¸ç¼è¾æ¤é¡µ</a></li> + <li><a href="/cn/developers/submit-codes/">代ç æ交æå</a></li> + </ul> + </div> + <div class="col"> + <ul class="social-icons"> + <p class="header">社åº</p> + <li> + <a href="https://groups.google.com/forum/#!forum/servicecomb-developers" target="_blank"><span class="group">å¼åè </span></a> | + <a href="https://groups.google.com/forum/#!forum/servicecomb-users" target="_blank">ç¨æ·</span></a> + </li> + <li> + <a href="http://github.com/ServiceComb" target="_blank"><span class="github">Github</span></a> + </li> + <li> + <a href="https://twitter.com/ServiceComb" target="_blank"><span class="twitter">Twitter</span></a> + </li> + <li> + <a href="/feed.xml" target="_blank"><span class="rss">Feed</span></a> + </li> + </ul> + </div> + </div> +</div> +<div class="page__footer-bottom"> + <div>© 2017 Apache incubator ServiceComb. ææ¯æ¥èªäº <a href="http://jekyllrb.com" rel="nofollow">Jekyll</a> & <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</div> +</div> + + </footer> + </div> + + <script src="/assets/js/main.min.js"></script> + + + + + <script> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-101622733-1', 'auto'); + ga('send', 'pageview'); +</script> + + + + + + + + </body> +</html>
http://git-wip-us.apache.org/repos/asf/incubator-servicecomb-website/blob/08e1b43f/content/cn/users/use-tls/index.html ---------------------------------------------------------------------- diff --git a/content/cn/users/use-tls/index.html b/content/cn/users/use-tls/index.html new file mode 100644 index 0000000..d0493fe --- /dev/null +++ b/content/cn/users/use-tls/index.html @@ -0,0 +1,1048 @@ +<!doctype html> +<!-- + Minimal Mistakes Jekyll Theme 4.4.1 by Michael Rose + Copyright 2017 Michael Rose - mademistakes.com | @mmistakes + Free for personal and commercial use under the MIT license + https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt +--> +<html lang="cn" class="no-js"> + <head> + <meta charset="utf-8"> + +<!-- begin SEO --> + + + + + + + + + +<title>使ç¨TLSéä¿¡ - Apache incubator ServiceComb</title> + + + + +<meta name="description" content="使ç¨TLSéä¿¡"> + + + + +<meta name="author" content=""> + +<meta property="og:locale" content="cn"> +<meta property="og:site_name" content="Apache incubator ServiceComb"> +<meta property="og:title" content="使ç¨TLSéä¿¡"> + + + <link rel="canonical" href="http://github.com/pages/ServiceComb/servicesomb.github.io/cn/users/use-tls/"> + <meta property="og:url" content="http://github.com/pages/ServiceComb/servicesomb.github.io/cn/users/use-tls/"> + + + + <meta property="og:description" content="使ç¨TLSéä¿¡"> + + + + <meta name="twitter:site" content="@ServiceComb"> + <meta name="twitter:title" content="使ç¨TLSéä¿¡"> + <meta name="twitter:description" content="使ç¨TLSéä¿¡"> + <meta name="twitter:url" content=""> + + + <meta name="twitter:card" content="summary"> + + + + + + + + + + + + + + + + + + + + + + + <script type="application/ld+json"> + { + "@context" : "http://schema.org", + "@type" : "Person", + "name" : "Apache incubator ServiceComb", + "url" : "http://github.com/pages/ServiceComb/servicesomb.github.io", + "sameAs" : null + } + </script> + + + + <meta name="google-site-verification" content="HvJjNd7vvJ-yjSTHlBiIWEYxp_Hrz-PYEY5Idz9LRcA" /> + + + + +<!-- end SEO --> + + +<link href="/feed.xml" type="application/atom+xml" rel="alternate" title="Apache incubator ServiceComb Feed"> + +<!-- http://t.co/dKP3o1e --> +<meta name="HandheldFriendly" content="True"> +<meta name="MobileOptimized" content="320"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> + +<script> + document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js '; +</script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js"></script> +<script src="/assets/js/prism.js"></script> + +<script type="text/javascript" async + src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML"> +</script> + +<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous"> + +<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> +<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script> +<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script> +<!-- For all browsers --> +<link rel="stylesheet" href="/assets/css/main.css"> +<link rel="stylesheet" href="/assets/css/prism.css"> + +<!--[if lte IE 9]> + <style> + /* old IE unsupported flexbox fixes */ + .greedy-nav .site-title { + padding-right: 3em; + } + .greedy-nav button { + position: absolute; + top: 0; + right: 0; + height: 100%; + } + </style> +<![endif]--> + +<meta http-equiv="cleartype" content="on"> + + <!-- start custom head snippets --> + +<!-- insert favicons. use http://realfavicongenerator.net/ --> +<link href="https://fonts.cat.net/css?family=Roboto:400,500,700|Source+Code+Pro" rel="stylesheet"> +<script src="/assets/js/custom.js"></script> +<!-- end custom head snippets --> + + </head> + + <body class="layout--single"> + + <!--[if lt IE 9]> +<div class="notice--danger align-center" style="margin: 0;">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div> +<![endif]--> + <div class="masthead"> + <div class="masthead__inner-wrap"> + <div class="masthead__menu"> + <nav id="site-nav" class="greedy-nav"> + + <a class="site-title active" href="/cn"><img src="//assets/images/ServiceComb-logo-1.png"></a> + + <ul class="visible-links"> + + + <li class="masthead__menu-item"> + + + + <a href="/cn/docs/quick-start/">å¿«éå ¥é¨</a> + + </li> + + + <li class="masthead__menu-item"> + + + + <a class="active" href="/cn/users/">ç¨æ·æå</a> + + </li> + + + <li class="masthead__menu-item"> + + + + <a href="/cn/developers/">å¼åè æå</a> + + </li> + + + <li class="masthead__menu-item"> + + + + <a href="/cn/year-archive/">åæ</a> + + </li> + + + <li class="masthead__menu-item"> + + + + <a href="/cn/faqs/">常è§é®é¢</a> + + </li> + + </ul> + <button><div class="navicon"></div></button> + <ul class="hidden-links hidden"></ul> + <div class="nav-lang"> + + + + <a href=/users/use-tls/>English</a> + + </div> + </nav> + </div> + </div> +</div> + + + + + + +<div id="main" role="main"> + + <div class="sidebar sticky"> + + <div class="back-to-home">é¦é¡µ > <a href="/cn/">ServiceComb</a></div> + + + + + + + + + + + +<nav class="nav__list"> + + <input id="ac-toc" name="accordion-toc" type="checkbox" /> + <label for="ac-toc">åæ¢èå</label> + <ul class="nav__items"> + + <li> + + <span class="nav__sub-title">ç¨æ·æå</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/" class="">Java Chassisç³»ç»æ¶æ</a></li> + + + + + + + + <li><a href="/cn/users/setup-environment/" class="">ç¯å¢é ç½®</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">å¼åæå¡æä¾è </span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/service-definition/" class="">æå¡å®ä¹</a></li> + + + + + + + + <li><a href="/cn/users/service-contract/" class="">æå¡å¥çº¦</a></li> + + + + + + + + <li><a href="/cn/users/develop-with-springmvc/" class="">ç¨SpringMVCå¼åå¾®æå¡</a></li> + + + + + + + + <li><a href="/cn/users/develop-with-jax-rs/" class="">ç¨JAX-RSå¼åå¾®æå¡</a></li> + + + + + + + + <li><a href="/cn/users/develop-with-transparent-rpc/" class="">ç¨éæRPCå¼åå¾®æå¡</a></li> + + + + + + + + <li><a href="/cn/users/service-interface-constraints/" class="">æå¡æ¥å£çº¦æ</a></li> + + + + + + + + <li><a href="/cn/users/service-configurations/" class="">æå¡é ç½®</a></li> + + + + + + + + <li><a href="/cn/users/communicate-protocol/" class="">éä¿¡åè®®</a></li> + + + + + + + + <li><a href="/cn/users/application-boot-process/" class="">ç¨åºå¯å¨é»è¾</a></li> + + + + + + + + <li><a href="/cn/users/service-heartbeat/" class="">æå¡å¿è·³</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">å¼åæå¡æ¶è´¹è </span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/develop-with-rest-template/" class="">使ç¨Rest Templateæ¹å¼å¼å</a></li> + + + + + + + + <li><a href="/cn/users/develop-with-rpc/" class="">使ç¨RPCæ¹å¼å¼å</a></li> + + + + + + + + <li><a href="/cn/users/use-service-contract/" class="">使ç¨æå¡å¥çº¦</a></li> + + + + + + + + <li><a href="/cn/users/invoke-control/" class="">è°ç¨æ§å¶</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">éç¨å¼å</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/local-develop-test/" class="">æ¬å°å¼åä¸æµè¯</a></li> + + + + + + + + <li><a href="/cn/users/use-servicecomb-in-spring-boot/" class="">å¨Spring Bootä¸ä½¿ç¨ServiceComb</a></li> + + + + + + + + <li><a href="/cn/users/distributed-tracing/" class="">åå¸å¼è°ç¨é¾è¿½è¸ª</a></li> + + + + + + + + <li><a href="/cn/users/customized-tracing/" class="">èªå®ä¹è°ç¨é¾æç¹</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">æå¡è½åå¼æ¾</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/edging-service/nginx/" class="">使ç¨confdåNginxåè¾¹ç¼æå¡</a></li> + + + + + + + + <li><a href="/cn/users/edging-service/zuul/" class="">使ç¨Zuulåè¾¹ç¼æå¡</a></li> + + </ul> + + </li> + + <li> + + + + + <a href="/cn/users/metrics/"><span class="nav__sub-title nav__sub-title-with-url">çæ§</span></a> + + + + </li> + + <li> + + <span class="nav__sub-title">é¨ç½²</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/run-mode/" class="">è¿è¡æ¨¡å¼</a></li> + + </ul> + + </li> + + <li> + + <span class="nav__sub-title">å¾®æå¡å®å ¨</span> + + + + <ul> + + + + + + + + <li><a href="/cn/users/use-tls/" class="active">使ç¨TLSéä¿¡</a></li> + + </ul> + + </li> + + </ul> +</nav> + + + + </div> + + + + <article class="page" itemscope itemtype="http://schema.org/CreativeWork"> + <meta itemprop="headline" content="使ç¨TLSéä¿¡"> + <meta itemprop="description" content="使ç¨TLSéä¿¡"> + + <meta itemprop="dateModified" content="August 15, 2017"> + + <div class="page__inner-wrap"> + + + <header> + <h1 class="page__title" itemprop="headline">使ç¨TLSéä¿¡ +</h1> + + </header> + + + + <section class="page__content" itemprop="text"> + <h2 id="åºæ¯æè¿°">åºæ¯æè¿°</h2> + +<p>ç¨æ·éè¿ç®åçé ç½®å³å¯å¯ç¨TLSéä¿¡ï¼ä»¥ä¿éæ°æ®çä¼ è¾å®å ¨ã</p> + +<h2 id="å¤é¨æå¡éä¿¡é ç½®">å¤é¨æå¡éä¿¡é ç½®</h2> + +<p>ä¸å¤é¨æå¡éä¿¡ç¸å ³çé ç½®åå¨microservice.yamlæ件ä¸ã</p> + +<ul> + <li> + <p>æå¡ä¸å¿TLSéä¿¡é ç½® + å¾®æå¡ä¸æå¡ä¸å¿çè¿æ¥å¯ä»¥éè¿å°httpæ¹ä¸ºhttpså¯ç¨TLSéä¿¡ï¼é 置示ä¾å¦ä¸ï¼</p> + + <div class="language-yaml highlighter-rouge"><pre class="highlight"><code> <span class="s">cse</span><span class="pi">:</span> + <span class="s">service</span><span class="pi">:</span> + <span class="s">registry</span><span class="pi">:</span> + <span class="s">address</span><span class="pi">:</span> <span class="s">https://127.0.0.1:30100</span> +</code></pre> + </div> + </li> + <li> + <p>æå¡æä¾è å¯ç¨TLSéä¿¡ + æå¡æä¾è å¨é ç½®æå¡çå¬å°åæ¶ï¼å¯ä»¥éè¿å¨å°ååé¢è¿½å <code class="highlighter-rouge">?sslEnabled=true</code>å¼å¯TLSéä¿¡ï¼ç¤ºä¾å¦ä¸ï¼</p> + + <div class="language-yaml highlighter-rouge"><pre class="highlight"><code> <span class="s">cse</span><span class="pi">:</span> + <span class="s">rest</span><span class="pi">:</span> + <span class="s">address</span><span class="pi">:</span> <span class="s">0.0.0.0:8080?sslEnabled=true</span> + <span class="s">highway</span><span class="pi">:</span> + <span class="s">address</span><span class="pi">:</span> <span class="s">0.0.0.0:7070?sslEnabled=true</span> +</code></pre> + </div> + </li> +</ul> + +<h2 id="è¯ä¹¦é ç½®">è¯ä¹¦é ç½®</h2> + +<p>è¯ä¹¦é 置项åå¨microservice.yamlæ件ä¸ï¼æ¯æç»ä¸å¶å®è¯ä¹¦ï¼ä¹å¯ä»¥æ·»å tagè¿è¡æ´ç»ç²åº¦çé ç½®ï¼ætagçé ç½®ä¼è¦çå ¨å±é ç½®ï¼é ç½®æ ¼å¼å¦ä¸ï¼</p> + +<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">ssl.[tag].[property]</span> +</code></pre> +</div> + +<p>è¯ä¹¦é 置项è§ä¸è¡¨è¯ä¹¦é 置项说æ表ã</p> + +<p><strong>表1 è¯ä¹¦é 置项说æ表</strong></p> + +<table> + <thead> + <tr> + <th style="text-align: left">é 置项</th> + <th style="text-align: left">é»è®¤å¼</th> + <th style="text-align: left">åå¼èå´</th> + <th style="text-align: left">æ¯å¦å¿ é</th> + <th style="text-align: left">å«ä¹</th> + <th style="text-align: left">注æ</th> + </tr> + </thead> + <tbody> + <tr> + <td style="text-align: left">ssl.protocols</td> + <td style="text-align: left">TLSv1.2</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">åè®®å表</td> + <td style="text-align: left">使ç¨éå·åé</td> + </tr> + <tr> + <td style="text-align: left">ssl.ciphers</td> + <td style="text-align: left">TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,<br />TLS_RSA_WITH_AES_256_GCM_SHA384,<br />TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,<br />TLS_RSA_WITH_AES_128_GCM_SHA256</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">ç®æ³å表</td> + <td style="text-align: left">使ç¨éå·åé</td> + </tr> + <tr> + <td style="text-align: left">ssl.authPeer</td> + <td style="text-align: left">true</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">æ¯å¦è®¤è¯å¯¹ç«¯</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">ssl.checkCN.host</td> + <td style="text-align: left">true</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">æ¯å¦å¯¹è¯ä¹¦çCNè¿è¡æ£æ¥</td> + <td style="text-align: left">该é 置项åªå¯¹Consumer端ï¼å¹¶ä¸ä½¿ç¨httpåè®®ææï¼å³Consumser端使ç¨restééææã对äºProvider端ãhighwayééçæ æãæ£æ¥CNçç®çæ¯é²æ¢æå¡å¨è¢«éé±¼ï¼åèæ åå®ä¹ï¼<a href="https://tools.ietf.org/html/rfc2818ã">https://tools.ietf.org/html/rfc2818ã</a></td> + </tr> + <tr> + <td style="text-align: left">ssl.trustStore</td> + <td style="text-align: left">trust.jks</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">ä¿¡ä»»è¯ä¹¦æ件</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">ssl.trustStoreType</td> + <td style="text-align: left">JKS</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">ä¿¡ä»»è¯ä¹¦ç±»å</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">ssl.trustStoreValue</td> + <td style="text-align: left">-</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">ä¿¡ä»»è¯ä¹¦å¯ç </td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">ssl.keyStore</td> + <td style="text-align: left">server.p12</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">身份è¯ä¹¦æ件</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">ssl.keyStoreType</td> + <td style="text-align: left">PKCS12</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">身份è¯ä¹¦ç±»å</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">ssl.keyStoreValue</td> + <td style="text-align: left">-</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">身份è¯ä¹¦å¯ç </td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">ssl.crl</td> + <td style="text-align: left">revoke.crl</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">åéè¯ä¹¦æ件</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">ssl.sslCustomClass</td> + <td style="text-align: left">-</td> + <td style="text-align: left">io.servicecomb.foundation.ssl.SSLCustomçå®ç°ç±»</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">SSLCustomç±»çå®ç°ï¼ç¨äºå¼åè 转æ¢å¯ç ãæ件路å¾çã</td> + <td style="text-align: left">-</td> + </tr> + </tbody> +</table> + +<blockquote> + <p><strong>说æ</strong>ï¼</p> + + <ul> + <li>é»è®¤çåè®®ç®æ³æ¯é«å¼ºåº¦å å¯ç®æ³ï¼JDKéè¦å®è£ 对åºççç¥æ件ï¼åèï¼<a href="http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html">http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html</a>ã æ¨å¯ä»¥å¨é ç½®æ件é 置使ç¨éé«å¼ºåº¦ç®æ³ã</li> + <li>å¾®æå¡æ¶è´¹è ï¼å¯ä»¥é对ä¸åçæä¾è æå®è¯ä¹¦ï¼å½åè¯ä¹¦æ¯æç §HOSTç¾åçï¼ä¸åçæä¾è é½ä½¿ç¨ä¸ä»½è¯ä¹¦åå¨ä»è´¨ï¼è¿ä»½ä»è´¨åæ¶ç»å¾®æå¡è®¿é®æå¡ä¸å¿åé ç½®ä¸å¿ä½¿ç¨ï¼ã</li> + </ul> +</blockquote> + +<h2 id="æå¡ä¸å¿çè¯ä¹¦é ç½®">æå¡ä¸å¿çè¯ä¹¦é ç½®</h2> + +<p>ç®åæ¯æ使ç¨ç¯å¢åéæ¥é ç½®æå¡ä¸å¿çTLS认è¯æ¹å¼ï¼é»è®¤å¼å¯TLSéä¿¡ï¼åå认è¯æ¨¡å¼ï¼è®¤è¯å¯¹ç«¯æ¶åæ¶æ ¡éªå¯¹ç«¯æ¯å¦å¹é è¯ä¹¦ï¼CommonNameï¼å段ãæå¡ç®¡çä¸å¿çè¯ä¹¦é 置项说æè§ä¸è¡¨æå¡ä¸å¿TLSè¯ä¹¦é 置项说æã</p> + +<p><strong>表2 æå¡ä¸å¿TLSè¯ä¹¦é 置项说æ</strong></p> + +<table> + <thead> + <tr> + <th style="text-align: left">é 置项</th> + <th style="text-align: left">é»è®¤å¼</th> + <th style="text-align: left">åå¼èå´</th> + <th style="text-align: left">æ¯å¦å¿ é</th> + <th style="text-align: left">å«ä¹</th> + <th style="text-align: left">注æ</th> + </tr> + </thead> + <tbody> + <tr> + <td style="text-align: left">CSE_SSL_MODE</td> + <td style="text-align: left">1</td> + <td style="text-align: left">1/0<br />0:HTTPS<br />1:HTTP</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">设置å议模å¼</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">CSE_SSL_VERIFY_CLIENT</td> + <td style="text-align: left">1</td> + <td style="text-align: left">1/0<br />0:HTTPS<br />1:HTTP</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">设置HTTPS模å¼ä¸æ¯å¦è®¤è¯å¯¹ç«¯</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">CSE_SSL_PASSPHASE</td> + <td style="text-align: left">-</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">设置HTTPS模å¼ä¸çè¯ä¹¦å¯é¥è®¿é®å¯ç </td> + <td style="text-align: left">-</td> + </tr> + </tbody> +</table> + +<p>æå¡ç®¡çä¸å¿é ç½®æ件为$APP_ROOT/conf/app.confï¼é 置项è§ï¼è¯¥é ç½®æä¸æ¯æç¯å¢åéæ¹å¼è®¾ç½®ã</p> + +<p>表3 æå¡ä¸å¿é ç½®æ件</p> + +<table> + <thead> + <tr> + <th style="text-align: left">é 置项</th> + <th style="text-align: left">é»è®¤å¼</th> + <th style="text-align: left">åå¼èå´</th> + <th style="text-align: left">æ¯å¦å¿ é</th> + <th style="text-align: left">å«ä¹</th> + <th style="text-align: left">注æ</th> + </tr> + </thead> + <tbody> + <tr> + <td style="text-align: left">ssl_protocols</td> + <td style="text-align: left">TLSv1.2</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">é信使ç¨çSSLçæ¬</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">ssl_ciphers</td> + <td style="text-align: left">TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,<br />TLS_RSA_WITH_AES_256_GCM_SHA384,<br />TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,<br />TLS_RSA_WITH_AES_128_GCM_SHA256,<br />TLS_RSA_WITH_AES_128_CBC_SHA</td> + <td style="text-align: left">-</td> + <td style="text-align: left">å¦</td> + <td style="text-align: left">é 置使ç¨ç®æ³å表</td> + <td style="text-align: left">ç±äºæå¡ä¸å¿æ¯æHTTP/2åè®®ï¼æ以ssl_cipherså¿ é¡»é ç½®æTLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256ç®æ³ãTLS_RSA_WITH_AES_128_GCM_SHA256ãTLS_RSA_WITH_AES_128_CBC_SHA被å为HTTP/2åè®®çä¸å®å ¨ç®æ³é»ååï¼ä½ä¸ºäºå®¢æ·ç«¯ç®æ³å ¼å®¹æ§ï¼åå¨æ¶å¿ é¡»é ç½®å°æåä¸ä½ã</td> + </tr> + </tbody> +</table> + +<h2 id="å¯é¥ç©æåè¯ä¹¦åæ¾è·¯å¾">å¯é¥ç©æåè¯ä¹¦åæ¾è·¯å¾</h2> + +<p><strong>表4 å¯é¥ç©æåè¯ä¹¦åæ¾è·¯å¾</strong></p> + +<table> + <thead> + <tr> + <th style="text-align: left">é 置项</th> + <th style="text-align: left">å«ä¹</th> + <th style="text-align: left">对åºç¯å¢åé</th> + <th style="text-align: left">注æ</th> + </tr> + </thead> + <tbody> + <tr> + <td style="text-align: left">/</td> + <td style="text-align: left">-</td> + <td style="text-align: left">-</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">/opt</td> + <td style="text-align: left">-</td> + <td style="text-align: left">-</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">/opt/CSE</td> + <td style="text-align: left">-</td> + <td style="text-align: left">INSTALL_ROOT</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">/opt/CSE/etc</td> + <td style="text-align: left">-</td> + <td style="text-align: left">-</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">/opt/CSE/etc/cipher</td> + <td style="text-align: left">å¯é¥ç©æåæ¾ç®å½</td> + <td style="text-align: left">CIPHER_ROOT</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">/opt/CSE/etc/ssl</td> + <td style="text-align: left">è¯ä¹¦åæ¾ç®å½</td> + <td style="text-align: left">SSL_ROOT</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">/opt/CSE/etc/ssl/trust.cer</td> + <td style="text-align: left">æä¿¡CA</td> + <td style="text-align: left">-</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">/opt/CSE/etc/ssl/server_key.pem</td> + <td style="text-align: left">å·²å å¯æå¡ç«¯ç§é¥æ件</td> + <td style="text-align: left">-</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">/opt/CSE/etc/ssl/server.cer</td> + <td style="text-align: left">æå¡å¨è¯ä¹¦</td> + <td style="text-align: left">-</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">/opt/CSE/etc/ssl/cert_pwd</td> + <td style="text-align: left">ç¨äºåæ¾è§£å¯ç§é¥ç对称å å¯å¯ææ件</td> + <td style="text-align: left">-</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">/opt/CSE/apps</td> + <td style="text-align: left">-</td> + <td style="text-align: left">-</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">/opt/CSE/apps/ServiceCenter</td> + <td style="text-align: left">-</td> + <td style="text-align: left">APP_ROOT</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">/opt/CSE/apps/ServiceCenter/conf</td> + <td style="text-align: left">æå¡ç®¡çä¸å¿é ç½®æ件ç®å½</td> + <td style="text-align: left">-</td> + <td style="text-align: left">-</td> + </tr> + <tr> + <td style="text-align: left">/opt/CSE/apps/ServiceCenter/conf/app.conf</td> + <td style="text-align: left">åºç¨é ç½®æ件</td> + <td style="text-align: left">-</td> + <td style="text-align: left">-</td> + </tr> + </tbody> +</table> + +<h2 id="示ä¾ä»£ç ">示ä¾ä»£ç </h2> + +<p>microservice.yamlæ件ä¸å¯ç¨TLSéä¿¡çé 置示ä¾å¦ä¸ï¼</p> +<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">cse</span><span class="pi">:</span> + <span class="s">service</span><span class="pi">:</span> + <span class="s">registry</span><span class="pi">:</span> + <span class="s">address</span><span class="pi">:</span> <span class="s">https://127.0.0.1:30100</span> + <span class="s">rest</span><span class="pi">:</span> + <span class="s">address</span><span class="pi">:</span> <span class="s">0.0.0.0:8080?sslEnabled=true</span> + <span class="s">highway</span><span class="pi">:</span> + <span class="s">address</span><span class="pi">:</span> <span class="s">0.0.0.0:7070?sslEnabled=true</span> + +<span class="c1">#########SSL options</span> +<span class="s">ssl.protocols</span><span class="pi">:</span> <span class="s">TLSv1.2</span> +<span class="s">ssl.authPeer</span><span class="pi">:</span> <span class="s">true</span> +<span class="s">ssl.checkCN.host</span><span class="pi">:</span> <span class="s">true</span> + +<span class="c1">#########certificates config</span> +<span class="s">ssl.trustStore</span><span class="pi">:</span> <span class="s">trust.jks</span> +<span class="s">ssl.trustStoreType</span><span class="pi">:</span> <span class="s">JKS</span> +<span class="s">ssl.trustStoreValue</span><span class="pi">:</span> <span class="s">Changeme_123</span> +<span class="s">ssl.keyStore</span><span class="pi">:</span> <span class="s">server.p12</span> +<span class="s">ssl.keyStoreType</span><span class="pi">:</span> <span class="s">PKCS12</span> +<span class="s">ssl.keyStoreValue</span><span class="pi">:</span> <span class="s">Changeme_123</span> +<span class="s">ssl.crl</span><span class="pi">:</span> <span class="s">revoke.crl</span> +<span class="s">ssl.sslCustomClass</span><span class="pi">:</span> <span class="s">io.servicecomb.demo.DemoSSLCustom</span> +</code></pre> +</div> + + + </section> + + <footer class="page__meta"> + + + + + + </footer> + + + + + + </div> + + + </article> + + + +</div> + + + <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> + <div align="center" style="margin: 0 0;"> + <ins class="adsbygoogle" + style="display:block; border-bottom: initial;" + data-ad-client="ca-pub-7328585512091257" + data-ad-slot="3049671934" + data-ad-format="auto"></ins> + </div> + + <div class="page__footer"> + <footer> + <!-- start custom footer snippets --> + +<!-- end custom footer snippets --> + <div class="container"> + <div class="row justify-content-md-center"> + + <div class="col"> + <ul> + <p class="header">èµæº</p> + <li><a href="/cn/docs/quick-start/">å¿«éå ¥é¨</a></li> + <li><a href="/cn/users/user-guide/">ç¨æ·æå</a></li> + <li><a href="/cn/slides/">èµæ</a></li> + <li><a href="/cn/users/faq/">常è§é®é¢</a></li> + </ul> + </div> + <div class="col"> + <ul> + <p class="header">è´¡ç®</p> + <li><a href="https://github.com/ServiceComb/ServiceComb.github.io/issues/new?title=Issue with _users/cn/use-tls.md">æ¥åæ¬ç½é¡µé®é¢</a></li> + <li><a href="https://github.com/ServiceComb/ServiceComb.github.io/edit/master/_users/cn/use-tls.md">å¨Githubä¸ç¼è¾æ¤é¡µ</a></li> + <li><a href="/cn/developers/submit-codes/">代ç æ交æå</a></li> + </ul> + </div> + <div class="col"> + <ul class="social-icons"> + <p class="header">社åº</p> + <li> + <a href="https://groups.google.com/forum/#!forum/servicecomb-developers" target="_blank"><span class="group">å¼åè </span></a> | + <a href="https://groups.google.com/forum/#!forum/servicecomb-users" target="_blank">ç¨æ·</span></a> + </li> + <li> + <a href="http://github.com/ServiceComb" target="_blank"><span class="github">Github</span></a> + </li> + <li> + <a href="https://twitter.com/ServiceComb" target="_blank"><span class="twitter">Twitter</span></a> + </li> + <li> + <a href="/feed.xml" target="_blank"><span class="rss">Feed</span></a> + </li> + </ul> + </div> + </div> +</div> +<div class="page__footer-bottom"> + <div>© 2017 Apache incubator ServiceComb. ææ¯æ¥èªäº <a href="http://jekyllrb.com" rel="nofollow">Jekyll</a> & <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</div> +</div> + + </footer> + </div> + + <script src="/assets/js/main.min.js"></script> + + + + + <script> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-101622733-1', 'auto'); + ga('send', 'pageview'); +</script> + + + + + + + + </body> +</html>