LINUX.ORG.RU
ФорумAdmin

Nginx SSL


0

2

Здраствуйте. При испльзовании SSL на сайте не работает авторизация и не отображается генерируемые изображения.

Конфиг сервера Nginx + Apache2.

nginx conf

server {
listen 80;
listen 443;
ssl on;
ssl_certificate /etc/ssl/certs/ssl.pem;
ssl_certificate_key /etc/ssl/private/ssl.key;

ssl_session_timeout 5m;

ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;

server_name site.ru www.site.ru;

location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js)$ {
root /var/www/site.ru/;
}

location / {
proxy_pass
http://127.0.0.1:81;
proxy_redirect off;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

client_max_body_size 10m;
client_body_buffer_size 128k;

proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;

proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
location /doc {
root /usr/share;
autoindex on;
allow 127.0.0.1;
deny all;
}

location /images {
root /usr/share;
autoindex on;
}
#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
# error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/nginx-default;
} }

apache2 conf

<VirtualHost *:81>
ServerAdmin webmaster@localhost
ServerName site.ru
ServerAlias www.site.ru
DocumentRoot /var/www/site.ru/
<Directory />
Options FollowSymLinks
AllowOverride all
</Directory>
<Directory /var/www/site.ru/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory «/usr/lib/cgi-bin»>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn

CustomLog /var/log/apache2/access.log combined

Alias /doc/ «/usr/share/doc/»
<Directory «/usr/share/doc/»>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>



Последнее исправление: sib (всего исправлений: 3)

Ответ на: комментарий от Sylvia

listen 80;
listen 443;
ssl on;

и вот это лучше бы разнести по разным секциям server

или убрать хотя бы ssl on;

и сделать listen 443 default ssl;

Sylvia ★★★★★
()

>не работает авторизация

basic http или через куки ?


конфигурация сервера тут может быть особенно и непричем

nginx у вас как прокси все равно

если апач повесить на https 443 там работает в нем все?

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

еще по конфигурации:

ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;


SSLv2 я бы отключила , только v3 и TLS


ssl_protocols TLSv1 SSLv3;
ssl_ciphers CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA:RC4-SHA:RC4-MD5 ;
ssl_prefer_server_ciphers on;

Camellia будет работать с OpenSSL 1.0.0, иначе - AES

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

Конфиг поравил, но авторизация не работает (через куки). Попробую на Apache открыть 443 порт.

server {[br] listen 80;[br] server_name site.ru www.site.ru;[br]

location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js)$ {[br] root /var/www/site.ru/;[br] }[br]

location / {[br] proxy_pass http://127.0.0.1:81;[br] proxy_redirect off;[br]

proxy_set_header Host $host;[br] proxy_set_header X-Real-IP $remote_addr;[br] proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;[br]

client_max_body_size 10m;[br] client_body_buffer_size 128k;[br]

proxy_connect_timeout 90;[br] proxy_send_timeout 90;[br] proxy_read_timeout 90;[br]

proxy_buffer_size 4k;[br] proxy_buffers 4 32k;[br] proxy_busy_buffers_size 64k;[br] proxy_temp_file_write_size 64k;[br] }[br] location /doc {[br] root /usr/share;[br] autoindex on;[br] allow 127.0.0.1;[br] deny all;[br] }[br]

location /images {[br] root /usr/share;[br] autoindex on;[br] } #error_page 404 /404.html;[br]

# redirect server error pages to the static page /50x.html[br] # error_page 500 502 503 504 /50x.html;[br] location = /50x.html {[br] root /var/www/nginx-default;[br] }[br] }[br]

server {[br] listen 443 default ssl;[br] server_name site.ru www.site.ru;[br] ssl_certificate /etc/ssl/certs/ssl.pem;[br] ssl_certificate_key /etc/ssl/private/ssl.key;[br]

ssl_session_timeout 5m;[br]

ssl_protocols SSLv2 SSLv3 TLSv1;[br] ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;[br] ssl_prefer_server_ciphers on;[br]

location / {[br] proxy_pass http://127.0.0.1:81;[br] proxy_redirect off;[br]

proxy_set_header Host $host;[br] proxy_set_header X-Real-IP $remote_addr;[br] proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;[br]

client_max_body_size 10m;[br] client_body_buffer_size 128k;[br]

proxy_connect_timeout 90;[br] proxy_send_timeout 90;[br] proxy_read_timeout 90;[br]

proxy_buffer_size 4k;[br] proxy_buffers 4 32k;[br] proxy_busy_buffers_size 64k;[br] proxy_temp_file_write_size 64k;[br] }[br]

}

sib
() автор топика
Ответ на: комментарий от sib

авторизация может не работать, потому, что обращение к апачу идет по http, при том что клиент использует https:// , можно попробовать вынести апач на 4343 и сделать proxy_pass на https:// апача

у меня когда nginx жил как реверс-прокси, то апач был на 443 сам по себе, обращения к https:// были не столь интенсивны как к http:// ,
поэтому я его не проксировала. Может и вас такой вариант устроит.

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

proxy_set_header X-FORWARDED_PROTO https;


ну или можно попробовать вот этот заголовок выставлять для https://
(только надо разносить конфиг на 2 секции server )

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

Сделал ssl на apache2, авторизация неработает.

<IfModule mod_ssl.c> <VirtualHost *:443>    ServerAdmin webmaster@localhost

   DocumentRoot /var/www/site.ru    <Directory />       Options FollowSymLinks       AllowOverride None    </Directory>    <Directory /var/www/site.ru>       Options Indexes FollowSymLinks MultiViews       AllowOverride None       Order allow,deny       allow from all    </Directory>

   ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/    <Directory «/usr/lib/cgi-bin»>       AllowOverride None       Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch       Order allow,deny       Allow from all    </Directory>

   ErrorLog ${APACHE_LOG_DIR}/error.log

   # Possible values include: debug, info, notice, warn, error, crit,    # alert, emerg.    LogLevel warn

   CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined

   Alias /doc/ «/usr/share/doc/»    <Directory «/usr/share/doc/»>       Options Indexes MultiViews FollowSymLinks       AllowOverride None       Order deny,allow       Deny from all       Allow from 127.0.0.0/255.0.0.0 ::1/128    </Directory>

   SSLEngine on

   SSLCertificateFile /etc/ssl/certs/ssl.pem    SSLCertificateKeyFile /etc/ssl/private/ssl.key

   

       <FilesMatch «\.(cgi|shtml|phtml|php)$»>       SSLOptions +StdEnvVars    </FilesMatch>    <Directory /usr/lib/cgi-bin>       SSLOptions +StdEnvVars    </Directory>

   BrowserMatch «MSIE [2-6]» \       nokeepalive ssl-unclean-shutdown \       downgrade-1.0 force-response-1.0       BrowserMatch «MSIE [17-9]» ssl-unclean-shutdown

</VirtualHost> </IfModule>

sib
() автор топика
Ответ на: комментарий от sib

т.е. и без nginx на чистом апаче не работает?
ну а что вы от nginx хотите ? ) на чем сайт ? смотрите что пишут по вашей cms и авторизации... http, https ..

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

CMS некоректно обрабатывает https запросы. Спасибо.

sib
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.