User Tools

Site Tools


сервис_http

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
сервис_http [2022/09/25 20:13]
val [NGINX]
сервис_http [2023/11/14 14:03] (current)
val [Управление доступом к HTTP серверу с использованием OAuth2 аутентификации]
Line 539: Line 539:
 ===== Поддержка протокола HTTPS ===== ===== Поддержка протокола HTTPS =====
  
 +  * [[Letsencrypt Certbot]]
 +  * [[https://​stackoverflow.com/​questions/​31370454/​sslcertificatechainfile-is-obsolete|SSLCertificateChainFile is now obsolete, and any intermediate certificates are supposed to be included in the server certificate file]]
 ==== Debian/​Ubuntu ==== ==== Debian/​Ubuntu ====
 <​code>​ <​code>​
Line 813: Line 815:
  
 [[http://​grolmsnet.de/​kerbtut/​firefox.html]] [[http://​grolmsnet.de/​kerbtut/​firefox.html]]
 +
 +==== Управление доступом к HTTP серверу с использованием OAuth2 аутентификации ====
 +
 +  * [[https://​github.com/​zmartzone/​mod_auth_openidc/​wiki/​GitLab-OAuth2]]
 +  * [[Инструмент GitLab#​Сервер OAuth2]] из GitLab
 +  * [[Сервис OAuth2#​Keycloak]]
 +
 +  * [[https://​www.janua.fr/​using-apache2-mod_auth_openidc-module-with-keycloak-openid-connect/​|Using apache2 mod_auth_openidc module with Keycloak (OpenID Connect)]]
 +
 +<​code>​
 +gate# apt install libapache2-mod-auth-openidc
 +</​code><​code>​
 +# cat /​etc/​apache2/​conf-available/​serve-cgi-bin.conf
 +</​code><​code>​
 +...
 +        <​IfDefine ENABLE_USR_LIB_CGI_BIN>​
 +
 +                # GitLab
 +                OIDCSSLValidateServer Off
 +                OIDCProviderMetadataURL https://​server.corp13.un/​.well-known/​openid-configuration
 +                OIDCRedirectURI http://​gate.corp13.un/​cgi-bin/​test-cgi
 +                OIDCClientID e...............................................4 ​        #​Application ID
 +                OIDCClientSecret 7.................................................4 ​  #​Secret
 +                OIDCCryptoPassphrase anystring
 +
 +                # Keycloak
 +                OIDCSSLValidateServer Off
 +                OIDCProviderMetadataURL https://​server.corp13.un:​8443/​realms/​corpX/​.well-known/​openid-configuration
 +                OIDCRedirectURI http://​gate.corp13.un/​cgi-bin/​test-cgi
 +                OIDCClientID test-cgi
 +                OIDCCryptoPassphrase anystring
 +...
 +                        #Require all granted
 +                        AuthType openid-connect
 +                        Require valid-user
 +...
 +</​code><​code>​
 +# a2enmod auth_openidc
 +</​code><​code>​
 +Проверка:​ http://​gate.corp13.un/​cgi-bin/​test-cgi/ ​   !!! Последний / обязательно !!!
 +</​code>​
  
 ===== Протокол WebDAV ===== ===== Протокол WebDAV =====
Line 851: Line 894:
 <​code>​ <​code>​
 gate# apt install nginx gate# apt install nginx
 +</​code>​ 
 +==== Прокси "​красивого"​ URL в приложение (пример 1) ==== 
 +<​code>​
 gate# cat /​etc/​nginx/​sites-available/​user1 gate# cat /​etc/​nginx/​sites-available/​user1
 </​code><​code>​ </​code><​code>​
Line 865: Line 910:
  
 # service nginx configtest # service nginx configtest
 +
 # tail /​var/​log/​nginx/​error.log # tail /​var/​log/​nginx/​error.log
- 
   или   или
- 
 # nginx -t -c /​etc/​nginx/​nginx.conf # nginx -t -c /​etc/​nginx/​nginx.conf
- 
  
 # service nginx restart # service nginx restart
 </​code><​code>​ </​code><​code>​
 gate.isp.un$ wget -O - -q http://​server.corpX.un gate.isp.un$ wget -O - -q http://​server.corpX.un
-</​code><​code>​+</​code>​ 
 + 
 +==== Прокси с балансировкой (пример 2) ==== 
 + 
 +<​code>​
 # cat /​etc/​nginx/​sites-available/​myapp1 # cat /​etc/​nginx/​sites-available/​myapp1
 </​code><​code>​ </​code><​code>​
Line 889: Line 936:
         location / {         location / {
             proxy_pass http://​myapp1;​             proxy_pass http://​myapp1;​
 +
 +#            proxy_set_header Host            $host;
 +#            proxy_set_header X-Forwarded-For $remote_addr;​
 +
         }         }
     }     }
 </​code><​code>​ </​code><​code>​
 # ln -s /​etc/​nginx/​sites-available/​myapp1 /​etc/​nginx/​sites-enabled/​myapp1 # ln -s /​etc/​nginx/​sites-available/​myapp1 /​etc/​nginx/​sites-enabled/​myapp1
 +</​code>​
 +
 +==== Прокси "​красивого"​ URL в приложение (пример 3) ====
 +
 +<​code>​
 +# host mail
 +# host webd
 +# host www
 +# host autoconfig
 +# host corpX.un
 +
 +... has address 192.168.X.10
 +
 +root@server#​ cat /​var/​opt/​gitlab/​nginx/​conf/​corpX.conf
 </​code><​code>​ </​code><​code>​
-root@server#​ cat /​var/​opt/​gitlab/​nginx/​conf/​my.conf 
     server {     server {
         listen 80;         listen 80;
-        server_name webd.corp13.un;+        server_name webd.corpX.un;
  
         location / {         location / {
-            proxy_pass http://​192.168.49.2:​30111;​+            proxy_pass http://​192.168.49.2:​30111/;
         }         }
     }     }
 +    server {
 +        listen 80;
 +        server_name mail.corpX.un;​
 +
 +        location / {
 +            proxy_pass http://​server.corpX.un:​81/​mail/;​
 +#            proxy_pass http://​gate.corpX.un:​81/​mail/;​
 +        }
 +    }
 +    server {
 +        listen 80;
 +        server_name corpX.un www.corpX.un;​
 +
 +        location / {
 +            proxy_pass http://​server.corpX.un:​81/;​
 +        }
 +    }
 +#    server {
 +#        listen 80;
 +#        server_name autoconfig.corpX.un;​
 +#        location / {
 +#            proxy_pass http://​gate.corpX.un:​81/;​
 +#        }
 +#    }
 </​code><​code>​ </​code><​code>​
-root@server# ​cat /​var/​opt/​gitlab/​nginx/​conf/​nginx.conf+# cat /​etc/​gitlab/​gitlab.rb 
 +</​code><​code>​ 
 +... 
 +nginx['​custom_nginx_config'​] = "​include /​var/​opt/​gitlab/​nginx/​conf/​corpX.conf;"​ 
 +... 
 +</​code>​ 
 +  * [[Инструмент GitLab#​Проверка конфигурации и перезапуск]] 
 +<​code>​ 
 +root@server# ​less /​var/​opt/​gitlab/​nginx/​conf/​nginx.conf
 </​code><​code>​ </​code><​code>​
 ... ...
-  include /​var/​opt/​gitlab/​nginx/​conf/​my.conf;+  include /​var/​opt/​gitlab/​nginx/​conf/​corpX.conf;
 } }
 </​code><​code>​ </​code><​code>​
сервис_http.1664125991.txt.gz · Last modified: 2022/09/25 20:13 by val