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/01/19 13:20]
val [Редирект HTTP на HTTPS]
сервис_http [2024/03/18 08:41] (current)
val [HTTPS Прокси (пример 4)]
Line 37: Line 37:
       THis is comment       THis is comment
     -->     -->
 +    <PRE>
 +text
 +  as
 +    is
 +    </​PRE>​
     <​H1>​Go to Google</​H1>​     <​H1>​Go to Google</​H1>​
-    <A HREF=http://​freebsd.org/>​ +    <A HREF=https://​freebsd.org/>​ 
-    <IMG SRC=http://​www.freebsd.org/​logo/​logo-full.png>​+    <IMG SRC=https://​www.freebsd.org/​logo/​logo-full.png>​
     </​A> ​     </​A> ​
   </​BODY>​   </​BODY>​
Line 106: Line 111:
 </​code>​ </​code>​
  
 +==== Изменение порта ====
 +
 +  * [[https://​www.tecmint.com/​change-apache-port-in-linux/​|How to Change Apache HTTP Port in Linux]]
 ==== Свойство Indexes каталогов ==== ==== Свойство Indexes каталогов ====
  
Line 531: 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 805: Line 815:
  
 [[http://​grolmsnet.de/​kerbtut/​firefox.html]] [[http://​grolmsnet.de/​kerbtut/​firefox.html]]
 +
 +==== Управление доступом к HTTP серверу с использованием OpenID аутентификации ====
 +
 +  * [[https://​github.com/​zmartzone/​mod_auth_openidc/​wiki/​GitLab-OAuth2]]
 +  * [[Инструмент GitLab#​Сервер OpenID]] из GitLab
 +  * [[Сервис 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.corpX.un/​.well-known/​openid-configuration
 +                OIDCRedirectURI http://​gate.corpX.un/​cgi-bin/​test-cgi
 +                OIDCClientID e...............................................4 ​        #​Application ID
 +                OIDCClientSecret 7.................................................4 ​  #​Secret
 +                OIDCCryptoPassphrase anystring
 +
 +                ## Keycloak
 +                OIDCSSLValidateServer Off
 +                OIDCProviderMetadataURL https://​keycloak.corpX.un/​realms/​corpX/​.well-known/​openid-configuration
 +                OIDCRedirectURI http://​gate.corpX.un/​cgi-bin/​test-cgi
 +                #​OIDCClientID test-cgi
 +                OIDCClientID any-client
 +                OIDCCryptoPassphrase anystring
 +...
 +                        #Require all granted
 +                        AuthType openid-connect
 +                        Require valid-user
 +...
 +</​code><​code>​
 +# a2enmod auth_openidc
 +</​code><​code>​
 +Проверка:​ http://​gate.corpX.un/​cgi-bin/​test-cgi/ ​   !!! Последний / обязательно !!!
 +</​code>​
  
 ===== Протокол WebDAV ===== ===== Протокол WebDAV =====
Line 840: Line 892:
  
   * [[https://​mail.bmstu.ru:​9100/​~val/​Mastering%20NGINX%20RUS.pdf]]   * [[https://​mail.bmstu.ru:​9100/​~val/​Mastering%20NGINX%20RUS.pdf]]
 +  * [[https://​blog.sefdar.ru/​nginx-%D0%BF%D0%B5%D1%80%D0%B5%D0%BD%D0%B0%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-proxy_redirect-%D0%B8-redirect/​|NGINX перенаправления proxy_redirect и redirect]]
  
 <​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 853: Line 908:
         }         }
 } }
-</​code><​code>​+</​code>​ 
 +=== Подключение,​ тестирование,​ применение и мониторинг конфигурации === 
 +<​code>​
 # ln -s /​etc/​nginx/​sites-available/​user1 /​etc/​nginx/​sites-enabled/​user1 # ln -s /​etc/​nginx/​sites-available/​user1 /​etc/​nginx/​sites-enabled/​user1
  
 # 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
  
 # service nginx restart # service nginx restart
 +
 +# tail -f /​var/​log/​nginx/​access.log -f /​var/​log/​nginx/​error.log
 </​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 879: Line 945:
         }         }
     }     }
 +</​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>​
-ln -s /etc/nginx/sites-available/myapp1 ​/etc/nginx/sites-enabled/myapp1+    server { 
 +        listen 80; 
 +        server_name webd.corpX.un;​ 
 + 
 +        location / { 
 +            proxy_pass http://​192.168.49.2:​30111/;​ 
 +        } 
 +    } 
 +    server { 
 +        listen 80; 
 +        server_name mail.corpX.un;​ 
 +        return 301 http://​server.corpX.un:​81/​mail;​ 
 +       ​return 301 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>​ 
 +# cat /etc/gitlab/​gitlab.rb 
 +</​code><​code>​ 
 +... 
 +nginx['​custom_nginx_config'​] = "​include ​/var/opt/gitlab/nginx/conf/corpX.conf;"​ 
 +...
 </​code>​ </​code>​
 +  * [[Инструмент GitLab#​Проверка конфигурации и перезапуск]]
 +<​code>​
 +root@server#​ less /​var/​opt/​gitlab/​nginx/​conf/​nginx.conf
 +</​code><​code>​
 +...
 +  include /​var/​opt/​gitlab/​nginx/​conf/​corpX.conf;​
 +}
 +</​code><​code>​
 +root@server#​ /​opt/​gitlab/​embedded/​sbin/​nginx -p /​var/​opt/​gitlab/​nginx -t
 +</​code><​code>​
 +root@server#​ gitlab-ctl restart nginx
 +</​code>​
 +
 +==== HTTPS Прокси (пример 4) ====
 +
 +<​code>​
 +gate1.corp13.un:​~#​ cat /​etc/​nginx/​sites-available/​gowebd
 +</​code><​code>​
 +    server {
 +        listen 80;
 +        server_name gowebd.corp13.un;​
 +        return 301 https://​gowebd.corp13.un$request_uri;​
 +    }
 +
 +    server {
 +        listen 443 ssl;
 +        server_name gowebd.corp13.un;​
 +        ssl_certificate /​root/​gowebd.crt;​
 +        ssl_certificate_key /​root/​gowebd.key;​
 +
 +        location / {
 +            proxy_pass http://​192.168.13.64;​
 +
 +#            proxy_set_header Host            $host;
 +#            proxy_set_header X-Forwarded-For $remote_addr;​
 +
 +#            proxy_set_header X-Forwarded-Proto $scheme;
 +#            proxy_set_header X-Forwarded-Port $server_port;​
 +        }
 +    }
 +</​code>​
 +
 +
 +  * [[#​Подключение,​ тестирование,​ применение и мониторинг конфигурации]]
сервис_http.1642587613.txt.gz · Last modified: 2022/01/19 13:20 by val