chimurai / http-proxy-middleware

:zap: The one-liner node.js http-proxy middleware for connect, express, next.js and more
MIT License
10.71k stars 834 forks source link

Problems adding TLS to proxy #340

Open JPaulMora opened 5 years ago

JPaulMora commented 5 years ago

Is this a bug report?

Yes

Steps to reproduce

Hello, I have successfully setup a proxy by following/simplifying the post at This blog

I am now trying to upgrade the proxy to have ssl, but after following some instructions I can't get it to work.

Reproducible Demo

// Dependencies
const express = require('express');
const proxy = require('http-proxy-middleware');
const fs = require('fs');
const https = require('https');

// Config
var creds = {
    key: fs.readFileSync('./cert.key'),
    cert: fs.readFileSync('./cert.pem'),
};

const app = express();

// Some security settings

app.use(proxy("/",
        {target: "https://example.com/",
        changeOrigin: true
}));

https.createServer(creds, app).listen(4433, () => {
    console.log('Proxy listening on port 4433');
});

app.listen(80, () => {
    console.log('Proxy listening on port ' + port);
});

Expected behavior

I would expect proxy to work with SSL and server css/js with https:// URLs

Actual behavior

When visiting port 4433 all I see is

�\�ѓJA�:QC��"g���3�:�}��I��!��@w�Z�������w����G �n�z��PW�!*��)�f�{�������`�Sk��Fw/`U3C���K@w��m��M���gl��-g�=�}4���������%Q%Jߝѥl��6�    ������O��e�+?Y����G�v�XJ��x���Vqr�(o����j� �臑�5I0�H`���f0c1(�E���x/��P�1�����&�j��5�?=^�&�j��G��*|��^ucNW�se|��)z�e��%�%����ms[<�   �} ���}?|�\�:����Z��TQ=,؉��S;1v���]����H��~O�^�\=ض�����YP�"N6�(_�ǿ�}��a�GcM�,{�4r����[��̗�����*h�H�*ʊ�uʤ ċa�_�~�!���ES�3K�����kA\��$�! ���̷   t�|�j��l�btP]y�S����Ɛ@{u���!����ׯ�O��ps��m������_���5�~�_��p�u�^/o�>Z"�������n};� �����;�q��s�����i��[^�z���o/�ays�\������?`��~ww{������}J�^Z� w��tC>�ǯg�������~|�������j}������jE֯4_,�w���������������v|{�[X�W������t�A6�8�X|=�P�7���A�O���{���}[�{ �(!�Z�\���}�o��зGܘ����|�B���V���PH��w"���"C� �:\W4edp�ֲ��m��ֲ5]Չ�X��O���a�yHm�U8@�?7w(��x�&��G���{۽�'$:�Zٞs�q ��*��}�>���^d��ޠ�X�����@��F���C�r�8�*9�q;��aP���Ow 8�!�yB�5�xhA�"[��r���*V#6���F�� U��!��qT�����!7~n^2J�O��7�{�D��nv�[(61��y(R���>������C�[��E_6j�Gw��y��!,c�����C�=H;��,6]9�x(BRq�@��|�S��ށ����w�qFӷ�f����f*]�ݛ'k�3���\�/�|�{X��Ҥ����Z����x��UGlh���6�'f|��C�+���~h�]����z����6�*���V�@J�]O���t�*�]    +UMX:����F�f����A<"�;�?�1/��J��pũw(��\ ������`��*����i�5;L T҂./W ĥ� �u�%��[��zSU��>?P' _�`0���s�9�)ˡ�5�ҳ��� Õ���5�@h����|�1#�^�N/}$�31�{兩^��8W�,��!��Yv�o�%�����(�a����qi<�>��)�0�G�҈=&P�e��K�I���]\sÙ���<�!�")�Ef�3�t�-j�`��R]WA\]Fɇ]k��� \�v[�7�z�ʫ�iH��HqqƿB)���&��uFT��B�^�)oB؊(vP����;y8�J?=�T����XC�a0�cّ6]r2��iֹQ��FÞ5=��Z�nYR58'���H|ݩ�ު� ��Id���I��f�q1z3�Dl�qy�{4�a��~� �����gh��<�E��6s�9�i�����Y���{ WέJ�����5`3w����q��t4d�Xt��a��J�N�B�e��oՇ����}�9�����������Z�s��A�fz����C�G6b[-�:˒�!:s醵z�Q�N�i�6�)�9oꑎHL@��-�Z�_*N�wY�Z�IX�H˟�����X�!����[�ƪS�2��Y�B8;�q�k�!J���ERDE1E1˘dX8��D��8p�eD(��%4l_��-i��o~��-ԋ%����F��r�1�p0ֲ9(���Js��ks���׃�H�2Y��b(j����l�|��jr�    s�DQ��p���2,(ģ#o��� �LM��_ɜ7�*�S@��_�t� �w� >-*0�D��]�{z�"`~���M<5�����5��P��N�w�� ���ۅrr��vTB}ʑ���`��'OY�<��G�g�8Y�?��M�pm.0�Y`���y;�턷�YH�-�R���U��YH�Y�X���܅teXf썎���APy@�-�19����-T�@�ņ�I��y� n�����T#ӆXmsa\�E@�Ѡ��&���{n �b�G��΁�P�)��r��b#�����6�qs@�G��K�������\%��G���U}���\b�����n��hE�Y*�5l����/�g�P��"��am5u��$� 띓��SG$݀��/�/�=��,�<v3��}2T (咴0 �8c�5{���nq���"�rU�����@�U� A�y h�1]�zZM����N��v��|�����YN��⡌�7�z� iHD��3:��/��ufx���Uu�V赖}�������}2��W���:�A��?��%�A6=}���.`������&D9DϙX�{Q�z !k�OX}��"ya�@�bv�*��n�(L%l���� ���h�!����n.�FL&2�4n�v��{bi!Y0ޔ�`��ݑͶ�����ņ�f�:IYÖ��F��^{�9���R�/8‰�Hq���#A�2�&Wcj��o`���Ή+A3Hu��F��&��Y���=맙/d4$,Z\�x��K׃Vw��V���qB     :���e��B�"�E|Na����5�%�v-�4��\����`��8 b=%:o�l���/"My���38  ���H�*X��q}�S�27��z���LOvC�r�_#w��3�8  ���Ka��S�Z|�T��AehX���M����hG�����FO��������f8 �|������s:V�� �f����u����:�#hҭU�?�/���54�.!}�9g�w���*TK���z���$&�����d 6�-�^���Qdm��&_��L,+=|��x��Y]++�֯�U����Yo�����SUe�E��� ]1���V_t�M@H8a���    N1h�L"�����r'��(������_wU�p_�X���f�oBߨ1���A�}�����2�"��!��aV2�3v��%�\Y�[C� ?>�e_A�p >�u3#~D���/�p�z�{xY�2 "�l��R}��=h#�:���,�9��Pn�����Y���ig���zTP<s�,R�R��2(���.7C��'��'�I��K@e&�p_�F| ��XݒPJCsx�*��kݨ[1����30��P\�ղɰ�|����Pr��3Z[�Sv�` (2.�Ŗ}��F�P������Ö�o�s�5)��c}��_ʕ"+=≗�V#���j���s���"O�ϊ_ ba2$SP��49)"tXw=��(�V�+���/!�����1E�`�\8�,b   �Try^�l�.��T6�6����ŚA� f ���JT�ܤ��%Z���jVI ��2 �\��4 V82l�Xwx�d�ƺ��ē��E�W�<�H�2��2Q�i�E�*3!ta�+��?2FSx������dt����PnU���\�v�Bi9�(���6����D�eO��0�L0����9h�����]2�c�X� ɂ  ��M$p`/D��ܤ��X��R�c: i��d��l�O��R�ΰκ*�@Q��K1���8��p�;e�p�����a�$3!QZ*�p|!�v��-���=��~�ޚ����9V#+,�2��k��q������%p��~�=0+J��9A���Oގ��NM��+y�.�ǔ�z��di���.���@���3.P���P�s�n5qYol!�����Re    ��0R0!đq@{jc,�ؘ�)7kzg��[����S���2���� ����(v�;�{I��4X�2��4V���8#�����*z��vȤ�%�s��1���.ޛWq�b*[I*7�=�m]a��8q;"�N����/p6y�Y�9x݈�p(W��p�-IW��P�Mq"CBx ����U�0P������|�f`��[~0��!��N�����Ov���A���[��A���`�5;�� ּ��?C�q�Ճ�֜Ο!F����a�Ё�� �dM(�x�ˍ� � � a=��&���>��r��v��g&����>��F��$��]��<37"�|3F�v8��bq��O����4��$X�v�Nâ�FBL��:7-����p� m�j�5ZgԐ� �Bi�����Z��2L�!�F�� �Z?�p@/������ڦs\HV�����A���1��a8�c�1=����d,�c��0K;mR�m�&fG`��^��уLNC��b����9j���Y���A�,t��S�$^�5�ye}Ka4;��MfC��u����^���&v�ZB-ߐ���I7���}��� p�븴�H$�n h���~���>�qb��� �x� 3AG�6:�pRrߛ|�~��C�qU���m��r    ��G�;i.%�tv�m���`uܛ�$a>�Z |A�͌Gy��G���)������G� F6�k�S�'g\�v���`�����{E;a4R��|��`LJ;��(��Ձ����8����ߖ��G����ީ!��I�!�r�;����� sD1@o%q{����N��͝��/������

Setup

client info

macOS, Safari/Chrome/Firefox, all up to date as of now.

target server info

Any website, tried both a Wordpress site and a larval app.

isnifer commented 5 years ago

@JPaulMora try this — https://github.com/FiloSottile/mkcert