<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>dudm6911 (cptc)</title>
    <link>https://ruby-china.org/dudm6911</link>
    <description/>
    <language>en-us</language>
    <item>
      <title>Windows 版  request.getScheme () 如何获取 https</title>
      <description>&lt;p&gt;windows 下 nginx-1.12.1 实现 http 转 https。
nginx.conf&lt;/p&gt;
&lt;pre class="highlight conf"&gt;&lt;code&gt;&lt;span class="n"&gt;server&lt;/span&gt; {
       &lt;span class="n"&gt;listen&lt;/span&gt;       &lt;span class="m"&gt;80&lt;/span&gt;;
       &lt;span class="n"&gt;server_name&lt;/span&gt;  *.&lt;span class="n"&gt;cn&lt;/span&gt;;
       &lt;span class="n"&gt;rewrite&lt;/span&gt; ^(.*)$ &lt;span class="n"&gt;https&lt;/span&gt;://$&lt;span class="n"&gt;host&lt;/span&gt;$&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="n"&gt;permanent&lt;/span&gt;;

}
            &lt;span class="n"&gt;proxy_set_header&lt;/span&gt;       &lt;span class="n"&gt;Host&lt;/span&gt; $&lt;span class="n"&gt;host&lt;/span&gt;;  

        &lt;span class="n"&gt;proxy_set_header&lt;/span&gt;  &lt;span class="n"&gt;X&lt;/span&gt;-&lt;span class="n"&gt;Real&lt;/span&gt;-&lt;span class="n"&gt;IP&lt;/span&gt;  $&lt;span class="n"&gt;remote_addr&lt;/span&gt;;  
    &lt;span class="n"&gt;proxy_set_header&lt;/span&gt;  &lt;span class="n"&gt;X&lt;/span&gt;-&lt;span class="n"&gt;Forwarded&lt;/span&gt;-&lt;span class="n"&gt;For&lt;/span&gt; $&lt;span class="n"&gt;proxy_add_x_forwarded_for&lt;/span&gt;;  
    &lt;span class="n"&gt;proxy_set_header&lt;/span&gt; &lt;span class="n"&gt;X&lt;/span&gt;-&lt;span class="n"&gt;Forwarded&lt;/span&gt;-&lt;span class="n"&gt;Proto&lt;/span&gt; $&lt;span class="n"&gt;scheme&lt;/span&gt;;
    &lt;span class="n"&gt;proxy_set_header&lt;/span&gt; &lt;span class="n"&gt;X&lt;/span&gt;-&lt;span class="n"&gt;Forwarded&lt;/span&gt;-&lt;span class="n"&gt;Scheme&lt;/span&gt; $&lt;span class="n"&gt;scheme&lt;/span&gt;;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;tomcat 的 server.xml 增加：&lt;/p&gt;
&lt;pre class="highlight erb"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;Valve&lt;/span&gt; &lt;span class="na"&gt;className=&lt;/span&gt;&lt;span class="s"&gt;"org.apache.catalina.valves.RemoteIpValve"&lt;/span&gt;  
                          &lt;span class="na"&gt;remoteIpHeader=&lt;/span&gt;&lt;span class="s"&gt;"X-Forwarded-For"&lt;/span&gt;  
                          &lt;span class="na"&gt;protocolHeader=&lt;/span&gt;&lt;span class="s"&gt;"X-Forwarded-Proto"&lt;/span&gt;  
                          &lt;span class="na"&gt;protocolHeaderHttpsValue=&lt;/span&gt;&lt;span class="s"&gt;"https"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt; 

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;jsp 中：String path = request.getContextPath(); String basePath = request.getScheme() + "://"
request.getServerName() + ":" + request.getServerPort()
取到的仍然是 http，不是 https&lt;/p&gt;</description>
      <author>dudm6911</author>
      <pubDate>Mon, 18 Sep 2017 10:11:52 +0800</pubDate>
      <link>https://ruby-china.org/topics/34158</link>
      <guid>https://ruby-china.org/topics/34158</guid>
    </item>
  </channel>
</rss>
