[11578] 2017-07-23_使用Go和Let'sEncrypt证书部署HTTPS

文档创建者:s7ckTeam
浏览次数:4
最后更新:2025-01-18
2017-07-23_使用Go和Let'sEncrypt证书部署HTTPS 使 G o L e t ' s   E n c r y p t H T T P S S S L C h i n a   F r e e B u f   2 0 1 7 - 0 7 - 2 3 使 使 H T T P S 使 使 H T T P S G o H T T P S H T T P S   S E O H T T P 使 H T T P S H T T P S 使 使 H T T P S C l o u d F l a r e H T T P 仿 H T T P S 使 C l o u d F l a r e 使 C l o u d F l a r e D N S C l o u d F l a r e D N S D N S H T T P C D N C l o u d F l a r e S S L 使 H T T P S C l o u d F l a r e C l o u d F l a r e H T T P w e b C l o u d F l a r e H T T P S I P 使 H T T P S C l o u d F l a r e C l o u d F l a r e S S L C l o u d F l a r e A W S H T T P S H T T P S C a d d y H T T P S
s s l L e t s   E n c r y p t H T T P   A P I A P I L e t s   E n c r y p t 使 L e t s   E n c r y p t 使 A P I A P I G o L e t s   E n c r y p t 使 g o l a n g . o r g / x / c r y p t o / a c m e / a u t o c e r t G o 使 L e t s   E n c r y p t S S L H T T P S f r e e - s s l - c e r t i f i c a t e s / m a i n . g o c o n s t   ( h t m l I n d e x   =   ` W e l c o m e ! ` i n P r o d u c t i o n   =   t r u e ) f u n c   h a n d l e I n d e x ( w   h t t p . R e s p o n s e W r i t e r ,   r   * h t t p . R e q u e s t )   { i o . W r i t e S t r i n g ( w ,   h t m l I n d e x ) } f u n c   m a k e H T T P S e r v e r ( )   * h t t p . S e r v e r   { m u x   : =   & h t t p . S e r v e M u x { } m u x . H a n d l e F u n c ( " / " ,   h a n d l e I n d e x ) / /   s e t   t i m e o u t s   s o   t h a t   a   s l o w   o r   m a l i c i o u s   c l i e n t   d o e s n ' t / /   h o l d   r e s o u r c e s   f o r e v e r r e t u r n   & h t t p . S e r v e r { R e a d T i m e o u t :   5   *   t i m e . S e c o n d , W r i t e T i m e o u t :   5   *   t i m e . S e c o n d , I d l e T i m e o u t :   1 2 0   *   t i m e . S e c o n d , H a n d l e r :   m u x ,
} } f u n c   m a i n ( )   { v a r   h t t p s S r v   * h t t p . S e r v e r / /   w h e n   t e s t i n g   l o c a l l y   i t   d o e s n ' t   m a k e   s e n s e   t o   s t a r t / /   H T T P S   s e r v e r ,   s o   o n l y   d o   i t   i n   p r o d u c t i o n . / /   I n   r e a l   c o d e ,   I   c o n t r o l   t h i s   w i t h   - p r o d u c t i o n   c m d - l i n e   f l a g i f   i n P r o d u c t i o n   { / /   N o t e :   u s e   a   s e n s i b l e   v a l u e   f o r   d a t a   d i r e c t o r y / /   t h i s   i s   w h e r e   c a c h e d   c e r t i f i c a t e s   a r e   s t o r e d d a t a D i r   : =   " . " h o s t P o l i c y   : =   f u n c ( c t x   c o n t e x t . C o n t e x t ,   h o s t   s t r i n g )   e r r o r   { / /   N o t e :   c h a n g e   t o   y o u r   r e a l   d o m a i n a l l o w e d H o s t   : =   " w w w . m y d o m a i n . c o m " i f   h o s t   = =   a l l o w e d H o s t   { r e t u r n   n i l } r e t u r n   f m t . E r r o r f ( " a c m e / a u t o c e r t :   o n l y   % s   h o s t   i s   a l l o w e d " ,   a l l o w e d H o s t ) } h t t p s S r v   =   m a k e H T T P S e r v e r ( ) m   : =   a u t o c e r t . M a n a g e r { P r o m p t :   a u t o c e r t . A c c e p t T O S , H o s t P o l i c y :   h o s t P o l i c y , C a c h e :   a u t o c e r t . D i r C a c h e ( d a t a D i r ) , } h t t p s S r v . A d d r   =   " : 4 4 3 "
h t t p s S r v . T L S C o n f i g   =   & t l s . C o n f i g { G e t C e r t i f i c a t e :   m . G e t C e r t i f i c a t e } g o   f u n c ( )   { e r r   : =   h t t p s S r v . L i s t e n A n d S e r v e T L S ( " " ,   " " ) i f   e r r   ! =   n i l   { l o g . F a t a l f ( " h t t p s S r v . L i s t e n d A n d S e r v e T L S ( )   f a i l e d   w i t h   % s " ,   e r r ) } } ( ) } h t t p S r v   : =   m a k e H T T P S e r v e r ( ) h t t p S r v . A d d r   =   " : 8 0 " e r r   : =   h t t p S r v . L i s t e n A n d S e r v e ( ) i f   e r r   ! =   n i l   { l o g . F a t a l f ( " h t t p S r v . L i s t e n A n d S e r v e ( )   f a i l e d   w i t h   % s " ,   e r r ) } } H T T P S 4 4 3 H T T P H T T P S 使 H T T P   A P I L e t s   E n c r y p t 2 0 L e t s   E n c r y p t 使 a u t o c e r t . D i r C a c h e S Q L R e d i s D N S L e t s   E n c r y p t D N S I P H T T P S - 使 n g r o k D N S n g r o k D N S D N S L e t s   E n c r y p t H o s t P o l i c y
  L e t s   E n c r y p t A u t o c e r t H T T P S H T T P S I P L e t s   E n c r y p t H T T P S 4 4 3 1 0 2 4 使 i n P r o d u c t i o n H T T P S - p r o d u c t i o n 使 H T T P H T T P S 使 H T T P S H T T P H T T P H T T P S f u n c   m a k e S e r v e r F r o m M u x ( m u x   * h t t p . S e r v e M u x )   * h t t p . S e r v e r   { / /   s e t   t i m e o u t s   s o   t h a t   a   s l o w   o r   m a l i c i o u s   c l i e n t   d o e s n ' t / /   h o l d   r e s o u r c e s   f o r e v e r r e t u r n   & h t t p . S e r v e r { R e a d T i m e o u t :   5   *   t i m e . S e c o n d , W r i t e T i m e o u t :   5   *   t i m e . S e c o n d , I d l e T i m e o u t :   1 2 0   *   t i m e . S e c o n d , H a n d l e r :   m u x , } } f u n c   m a k e H T T P T o H T T P S R e d i r e c t S e r v e r ( )   * h t t p . S e r v e r   { h a n d l e R e d i r e c t   : =   f u n c ( w   h t t p . R e s p o n s e W r i t e r ,   r   * h t t p . R e q u e s t )   { n e w U R I   : =   " h t t p s : / / "   +   r . H o s t   +   r . U R L . S t r i n g ( ) h t t p . R e d i r e c t ( w ,   r ,   n e w U R I ,   h t t p . S t a t u s F o u n d ) }
m u x   : =   & h t t p . S e r v e M u x { } m u x . H a n d l e F u n c ( " / " ,   h a n d l e R e d i r e c t ) r e t u r n   m a k e S e r v e r F r o m M u x ( m u x ) } f u n c   m a i n ( )   { h t t p S r v   : =   m a k e H T T P T o H T T P S R e d i r e c t S e r v e r ( ) h t t p S r v . A d d r   =   " : 8 0 " f m t . P r i n t f ( " S t a r t i n g   H T T P   s e r v e r   o n   % s n " ,   h t t p S r v . A d d r ) e r r   : =   h t t p S r v . L i s t e n A n d S e r v e ( ) i f   e r r   ! =   n i l   { l o g . F a t a l f ( " h t t p S r v . L i s t e n A n d S e r v e ( )   f a i l e d   w i t h   % s " ,   e r r ) } } S S L 使 g o o g l e . c o m 1 0 1 0 0 0 便 g o o g l e . c o m S S L 6 0 S S L L e t s   E n c r y p t
*   S S L C h i n a F r e e B u f . C O M
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则