現在、Apacheのリバースプロキシ機能を使用して以下のような構成の環境を構築したいと考えています。
![説明]
(419e985e9606df496f6bdd4b34004835.jpeg)](1eca775e812b51a228c84e0a2e5ad2bc.jpeg)
※Mattermost部分はまだ構築できていません
この構成の中で、設定を一つずつ適用させた場合にはそれぞれのサービスに問題なくアクセスできることは確認できました。
しかし、同時にこれらを行うことが難しい状態です。
具体的いま分かっていることとしては
(1)KibanaとWordPressの定義は共存できる
(2)GitLabの定義とその他の定義が共存できない
事象としては、GitLabの定義を有効にしてhttps://mydomain.com/kibana/
やhttps:/mydomain.com/blog/
にブラウザでアクセスすると、
Not found "/kibana/"
このような画面が表示され、思ったように動きません
この状態のときはGitLabにはアクセスが可能です
Apacheのログを見ましたが、上記ページを返しているメッセージが出ているのみであまり役に立ちませんでした。
なお、このログはプロキシによって出力されています。
そのため、/blogあてのリクエストもプロキシを通っていることになります。
末尾にコンフィグを掲出しますが、プロキシを通らないように設定はしてあります。
xx.xx.xx.xx - - [25/May/2019:01:34:38 +0900] "GET /blog/ HTTP/1.1" 404 19 "-" "Mozilla/5.0 (Android 9; Mobile; rv:67.0) Gecko/67.0 Firefox/67.0"
どうにかして上記環境を構築したいと思っております、ご助言いただけますと幸いです。
よろしくお願いいたします。
/etc/httpd/conf/httpd.conf(コメント行除外)
ServerRoot "/etc/httpd" Listen 80 Include conf.modules.d/*.conf User apache Group apache ServerName mydomain.com:80 <Directory /> AllowOverride none Require all denied </Directory> DocumentRoot "/var/www/html" <Directory "/var/www"> AllowOverride None # Allow open access: Require all granted </Directory> <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> <IfModule dir_module> DirectoryIndex index.html </IfModule> <Files ".ht*"> Require all denied </Files> ErrorLog "logs/error_log" LogLevel warn <IfModule log_config_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common <IfModule logio_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio </IfModule> CustomLog "logs/access_log" combined </IfModule> <IfModule alias_module> ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" </IfModule> <Directory "/var/www/cgi-bin"> AllowOverride None Options None Require all granted </Directory> <IfModule mime_module> TypesConfig /etc/mime.types AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType text/html .shtml AddOutputFilter INCLUDES .shtml </IfModule> AddDefaultCharset UTF-8 <IfModule mime_magic_module> MIMEMagicFile conf/magic </IfModule> EnableSendfile on IncludeOptional conf.d/*.conf
/etc/httpd/conf.d/gitlab_proxy.conf
Alias /blog /usr/share/blog <Directory "/usr/share/blog"> Options FollowSymLinks AllowOverride All Require all granted </Directory> ProxyPass /blog ! <VirtualHost *:80> ServerName mydomain.com ServerSignature Off RewriteEngine on RewriteCond %{HTTPS} !=on RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [NE,R,L] ProxyPass /blog ! ProxyPass /kibana ! </VirtualHost> <VirtualHost *:443> SSLEngine on SSLProtocol all -SSLv2 SSLHonorCipherOrder on SSLCipherSuite "ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS" Header add Strict-Transport-Security: "max-age=15768000;includeSubdomains" SSLCompression Off SSLCertificateFile /etc/letsencrypt/live/mydomain.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.com/privkey.pem SSLCACertificateFile /etc/letsencrypt/live/mydomain.com/chain.pem ServerName mydomain.com ServerSignature Off ProxyPreserveHost On AllowEncodedSlashes NoDecode <Location /gitlab/> Require all granted ProxyPassReverse http://127.0.0.1:8181 ProxyPassReverse http://mydomain.com/gitlab/ </Location> RewriteEngine on RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f [OR] RewriteCond %{REQUEST_URI} ^/uploads/.* RewriteRule .* http://127.0.0.1:8181%{REQUEST_URI} [P,QSA,NE] RequestHeader set X_FORWARDED_PROTO 'https' RequestHeader set X-Forwarded-Ssl on DocumentRoot /home/git/gitlab/public ErrorDocument 404 /404.html ErrorDocument 422 /422.html ErrorDocument 500 /500.html ErrorDocument 502 /502.html ErrorDocument 503 /503.html LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common_forwarded ErrorLog /var/log/httpd/logs/YOUR_SERVER_FQDN_error.log CustomLog /var/log/httpd/logs/YOUR_SERVER_FQDN_forwarded.log common_forwarded CustomLog /var/log/httpd/logs/YOUR_SERVER_FQDN_access.log combined env=!dontlog CustomLog /var/log/httpd/logs/YOUR_SERVER_FQDN.log combined </VirtualHost>
/etc/httpd/conf.d/kibana.conf
<VirtualHost *:443> ProxyRequests off SSLEngine on SSLProxyCheckPeerCN off SSLProxyCheckPeerName off SSLCertificateFile /etc/letsencrypt/live/mydomain.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/mydomain.com/chain.pem <Location /kibana/> ProxyPass http://192.168.xx.xx:5601/ ProxyPassReverse https://mydomain.com/kibana/ ProxyPassReverseCookieDomain 192.168.xx.xx:5601 mydomain.com ProxyPassReverseCookiePath / /kibana/ RewriteRule "^/kibana/(.*)$" "/$1" [L,PT] Substitute "s|http://192.168.xx.xx:5601/|https://mydomain.com/kibana/|q" </Location> </VirtualHost>
/etc/httpd/conf.d/ssl.conf
Listen 443 https SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog SSLSessionCacheTimeout 300 SSLRandomSeed startup file:/dev/urandom 256 SSLRandomSeed connect builtin SSLCryptoDevice builtin <VirtualHost mydomain.com:443> DocumentRoot "/var/www/html" ServerName mydomain.com:443 ErrorLog logs/ssl_error_log TransferLog logs/ssl_access_log LogLevel warn SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite HIGH:3DES:!aNULL:!MD5:!SEED:!IDEA SSLCertificateFile /etc/letsencrypt/live/mydomain.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/mydomain.com/chain.pem <Files ~ ".(cgi|shtml|phtml|php3?)$"> SSLOptions +StdEnvVars </Files> <Directory "/var/www/cgi-bin"> SSLOptions +StdEnvVars </Directory> BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </VirtualHost>
不足している情報等ありましたら、できる限りお伝えしたいと思います
よろしくお願いいたします
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/25 03:16 編集