128 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			ApacheConf
		
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			ApacheConf
		
	
	
#
 | 
						||
# Sample Apache 2.x configuration where : 
 | 
						||
#
 | 
						||
 | 
						||
<VirtualHost *:80>
 | 
						||
         
 | 
						||
  ServerName registry.example.com
 | 
						||
  ServerAlias www.registry.example.com
 | 
						||
 | 
						||
  ProxyRequests     off
 | 
						||
  ProxyPreserveHost on
 | 
						||
 | 
						||
  # no proxy for /error/ (Apache HTTPd errors messages)
 | 
						||
  ProxyPass /error/ !
 | 
						||
 | 
						||
  ProxyPass        /_ping http://localhost:5001/_ping
 | 
						||
  ProxyPassReverse /_ping http://localhost:5001/_ping
 | 
						||
 | 
						||
  ProxyPass        /v1 http://localhost:5001/v1
 | 
						||
  ProxyPassReverse /v1 http://localhost:5001/v1
 | 
						||
 | 
						||
  # Logs
 | 
						||
  ErrorLog ${APACHE_LOG_DIR}/mirror_error_log
 | 
						||
  CustomLog ${APACHE_LOG_DIR}/mirror_access_log combined env=!dontlog
 | 
						||
 | 
						||
</VirtualHost>
 | 
						||
 | 
						||
 | 
						||
<VirtualHost *:443>
 | 
						||
 | 
						||
  ServerName registry.example.com
 | 
						||
  ServerAlias www.registry.example.com
 | 
						||
 | 
						||
  SSLEngine on
 | 
						||
  SSLCertificateFile /etc/apache2/ssl/registry.example.com.crt
 | 
						||
  SSLCertificateKeyFile /etc/apache2/ssl/registry.example.com.key
 | 
						||
 | 
						||
  # Higher Strength SSL Ciphers
 | 
						||
  SSLProtocol all -SSLv2 -SSLv3 -TLSv1 
 | 
						||
  SSLCipherSuite RC4-SHA:HIGH
 | 
						||
  SSLHonorCipherOrder on
 | 
						||
 | 
						||
  # Logs
 | 
						||
  ErrorLog ${APACHE_LOG_DIR}/registry_error_ssl_log
 | 
						||
  CustomLog ${APACHE_LOG_DIR}/registry_access_ssl_log combined env=!dontlog
 | 
						||
 | 
						||
  Header always set "Docker-Distribution-Api-Version" "registry/2.0"
 | 
						||
  Header onsuccess set "Docker-Distribution-Api-Version" "registry/2.0"
 | 
						||
  RequestHeader set X-Forwarded-Proto "https"
 | 
						||
 | 
						||
  ProxyRequests     off
 | 
						||
  ProxyPreserveHost on
 | 
						||
 | 
						||
  # no proxy for /error/ (Apache HTTPd errors messages)
 | 
						||
  ProxyPass /error/ !
 | 
						||
 | 
						||
  #
 | 
						||
  # Registry v1
 | 
						||
  #
 | 
						||
 | 
						||
  ProxyPass        /v1 http://localhost:5000/v1
 | 
						||
  ProxyPassReverse /v1 http://localhost:5000/v1
 | 
						||
 | 
						||
  ProxyPass        /_ping http://localhost:5000/_ping
 | 
						||
  ProxyPassReverse /_ping http://localhost:5000/_ping
 | 
						||
 | 
						||
  # Authentication require for push
 | 
						||
  <Location /v1>
 | 
						||
    Order deny,allow
 | 
						||
    Allow from all
 | 
						||
    AuthName "Registry Authentication"
 | 
						||
    AuthType basic
 | 
						||
    AuthUserFile "/etc/apache2/htpasswd/registry-htpasswd"
 | 
						||
 | 
						||
    # Read access to authentified users
 | 
						||
    <Limit GET HEAD>
 | 
						||
      Require valid-user
 | 
						||
    </Limit>
 | 
						||
 | 
						||
    # Write access to docker-deployer account only
 | 
						||
    <Limit POST PUT DELETE>
 | 
						||
      Require user docker-deployer
 | 
						||
    </Limit>
 | 
						||
 | 
						||
  </Location>
 | 
						||
 | 
						||
  # Allow ping to run unauthenticated.
 | 
						||
  <Location /v1/_ping>
 | 
						||
    Satisfy any
 | 
						||
    Allow from all
 | 
						||
  </Location>
 | 
						||
 | 
						||
  # Allow ping to run unauthenticated.
 | 
						||
  <Location /_ping>
 | 
						||
    Satisfy any
 | 
						||
    Allow from all
 | 
						||
  </Location>
 | 
						||
 | 
						||
  #
 | 
						||
  # Registry v2
 | 
						||
  #
 | 
						||
 | 
						||
  ProxyPass        /v2 http://localhost:5002/v2
 | 
						||
  ProxyPassReverse /v2 http://localhost:5002/v2
 | 
						||
 | 
						||
  <Location /v2>
 | 
						||
    Order deny,allow
 | 
						||
    Allow from all
 | 
						||
    AuthName "Registry Authentication"
 | 
						||
    AuthType basic
 | 
						||
    AuthUserFile "/etc/apache2/htpasswd/registry-htpasswd"
 | 
						||
 | 
						||
    # Read access to authentified users
 | 
						||
    <Limit GET HEAD>
 | 
						||
      Require valid-user
 | 
						||
    </Limit>
 | 
						||
 | 
						||
    # Write access to docker-deployer only
 | 
						||
    <Limit POST PUT DELETE>
 | 
						||
      Require user docker-deployer
 | 
						||
    </Limit>
 | 
						||
 | 
						||
  </Location>
 | 
						||
 | 
						||
 | 
						||
</VirtualHost>
 | 
						||
 |