How to run jenkins with HTTPS on MacOS - macos

I have a MacOS based Machine, and I am running a Jenkins instance on it. It run with HTTP protocol (http://127.0.0.1:8080). I would like to run it SSL security (https://127.0.0.1:8080).
How to achieve this? Any help would be appreciated.
Thanks.
I tried running it on 8443 port (127.0.0.1:8443). It didn't work.

If you want your instance to just be available over https, you can configure that with the startup paramters, e.g.:
--httpPort=-1 \
--httpsPort=443 \
--httpsKeyStore=path/to/keystore \
--httpsKeyStorePassword=keystorePassword
The keystore is a Java keystore with your certificate - if you need one, you can use let's encrypt or a self signed one.
For a bigger instance, I would recommend a reverse proxy in front of Jenkins. The documentation how to do this can be found here: https://www.jenkins.io/doc/book/system-administration/reverse-proxy-configuration-with-jenkins/

Related

How to turn off SSL verification in GitPitch?

I'm trying to make Gitpitch to load presentations from Gitlab-omnibus installed in a local network (that is, not gitlab.com).
What I've done:
Pulled Docker image from https://hub.docker.com/r/knsit/gitpitch/dockerfile
Imported Gitpitch sample repository https://github.com/gitpitch/in-60-seconds from Github to our Gitlab
docker run docker run -d --rm --name gitpitch -e GP_GITLAB_BASE=https://gitlab.local.corp/ -e GP_GITLAB_API=https://gitlab.local.corp/api/v4/ -e GP_GITLAB_AS_DEFAULT=true -e GP_GITLAB_ACCESS_TOKEN=token -e GP_HOST=host -p 9000:9000 knsit/gitpitch
Please, note s in https. Our Gitlab uses HTTPS, but with self-signed certificate.
I can connect to the port 9000 of the container but browser shows me Error 404, saying that no Pitchme.md file exist in the repository.
I suspect that it is due to self-signed certificate of the Gitlab installation.
Is it possible to turn off checking of certificate validity for GitPitch?
I do not maintain the Docker image you are using so I can't speak to it specifically. The official GitPitch image available for deployment on-premises is GitPitch Enterprise.
That said, if you can customize the configuration for your local instance you might get the behavior you want by activating the following property:
play.ws.ssl.loose.acceptAnyCertificate=true
You can learn more about customizing the configuration for GitPitch Enterprise here. It might help you to understand a little more about custom configuration for the GitPitch server.
Of course, if you want to unlock the full GitPitch feature set on-premises, get in touch about a GitPitch Enterprise license. Details on the gitpitch.com website.

How to bypass multiple proxy in jmeter

I am using the command
jmeter -H proxy -P 4145 -N 10.24.27.57;10.5.213.40;10.5.247.126 -u username -a password
I want to bypass these 3 proxy 10.24.27.57;10.5.213.40;10.5.247.126.
How will it work?
Unfortunately, it won't work. JMeter relies on Java Networking Properties for proxy configuration, which supports only 1 proxy server.
Hard to tell without any further details, but for example you could split your load to 3 machines, each running 1/3 of the load against different proxy.

How to use socks with gradle for dependency resolving, in command line?

When jcenter is not accessible without proxy server, to resolve dependencies, and i want to use socks instead of http proxy, how i can use it in commanad line?
I know how to use http proxy:
-Dhttp.proxyHost=yourProxy -Dhttp.proxyPort=yourPort
-Dhttp.proxyUser=usernameProxy -Dhttp.proxyPassword=yourPassoword
I found answer, here you can use:
./gradlew -DsocksProxyHost=yourHost
-DsocksProxyPort=yourHostPort your-command
using above you can set socks host and port.
Gradle only documents about how to use HTTP(s) proxy, however in the ant source code it mentions, there is enough information about how to setup the SOCKS proxy.
Add the following two lines to the gradle.properties configuration file and you are done.
systemProp.socksProxyHost=your socks proxy ip
systemProp.socksProxyPort=your socks proxy port
The format of SOCKS configuration names (socksProxyHost and socksProxyPort) differs from HTTP proxy host and port configurations (http.proxyHost and http.proxyPort).
Refering to https://discuss.gradle.org/t/how-can-i-set-gradle-proxy-to-socks/15508
In the Project window change from Android to Project scope.
Then open up gradle.properties and add this line:
org.gradle.jvmargs=-DsocksProxyHost=yourHostIP -DsocksProxyPort=yourHostPort
Sync project.
i might be a little late but i found out that in ubuntu/Linux the proxy settings are cached in ~/.gradle/gradle.properties and I also found out that this gradle.properties is different from the one in your app inside android studio.
so you need to edit the credentials in there.
do a vim ~/.gradle/gradle.properties and edit the credentials there.
in my case i was using a socks proxy so i commented out all the http and https proxy hosts and ports and added one for socks. it looked like this
`systemProp.socks5ProxyHost=127.0.0.1
systemProp.socks5ProxyPort=1080`
i was able to sync gradle afterwards.

Running xd-shell and admin-ui against a HTTPS xd-admin in springxd 1.0.1 release

I installed springxd 1.0.1 release. I configured spring-xd to run in HTTPS mode by enabling the SSL properties as specified in https://github.com/spring-projects/spring-xd/wiki/Application-Configuration#enabling-https. I am able to start the xd admin and containers successfully after that. I set the httpSSL.properties as well. However, I am not able to get the xd shell properly. or admin UI to run. I know I have to specify these new ssl properties for them to use, but I am not sure where. The output when I run xd shell is:
1.0.1.RELEASE | Admin Server Target: http://localhost:9393
-------------------------------------------------------------------------------
Error: Unable to contact XD Admin Server at 'http://localhost:9393'.
Please execute 'admin config info' for more details.
-------------------------------------------------------------------------------
Welcome to the Spring XD shell. For assistance hit TAB or type "help".
server-unknown:>
When I try the admin-ui, I just get a 'Connection Interrupted' error.
EDIT: I tried basic authentication by enabling the properties in servers.yml. With this I am able to get the admin-ui to work, but shell still does not work. I am trying to find which configurations I need to set to make this work unsuccessfully. Any help is greatly appreciated.
Any pointers are greatly appreciated.
thanks much,
AG
Asha,
A few clarifications:
You do not need to change httpSSL.properties, that is necessary only for configuring HTTPS for the HTTP source.
Since you've enabled https, you must change the target URL accordingly, as follows:
xd:> admin config server https://localhost:9393
(please note that the protocol is https now)
If you also enable Basic security, you must add the configuration parameters to the configuration command, as in this example:
xd:> admin config server --uri https://localhost:9393 --username adminUserName --password adminPassword
(As described in the reference documentation)
Hope this helps,
Marius

SonarQube Proxy Configuration, Tricky

I cannot get the proxy configuration to work for SonarQube 4.0 so that I can install plugins.
When i open http://localhost:9000/updatecenter/available it displays the error: "Not connected to update center. Please check your internet connection and logs."
In sonar.log I read: "org.sonar.api.utils.HttpDownloader$HttpException: Fail to download [http://update.sonarsource.org/update-center.properties]. Response code: 403"
In sonar.properties I configured it with the same proxy which I use for other programs:
sonar.updatecenter.activate=true
http.proxyHost=<host>
http.proxyPort=<port>
http.proxyUser=<username>
http.proxyPassword=<password>
I tried the same to configure in wrapper.properties, but it didn't work either by the way.
For the proxy host I tried the short and the full name. For the username I tried just the username and with <DOMAINNAME>\<username> and <DOMAINNAME>\\<username>.
Nothing of it worked. Any ideas?
My proxy configuration works and looks the following way:
http.proxyHost=proxy.domain.de
http.proxyPort=8888
Note that there is no "http://" or anything else before the URL.
Also, I do not use proxy authentication, so I left "proxyUser" and "proxyPassword" commented out.
For those running SonarQube in Docker, I had no luck with any suggestion mentioned here. But I found following solution that worked for me (here):
docker run -d sonarqube -Dhttp.proxyHost=<myproxy.url.com> -Dhttp.proxyPort=<port>
and equivalent of this in a docker-compose notation:
services:
sonarqube:
image: sonarqube
command: -Dhttp.proxyHost=<myproxy.url.com> -Dhttp.proxyPort=<port>
Just an information: I had this problem also.
I can see the PlugIns but cannot download it. The problem is, you have to add this line into your sonar.properties, for the https:
# https-proxy
sonar.web.javaAdditionalOpts=-Dhttps.proxyHost=xxxxx -Dhttps.proxyPort=xxxx -Dhttps.proxyUser=xxxx -Dhttps.proxyPassword=xxxx
I used the official documentation and it works:
Using the Update Center behind a Proxy
http.proxyHost=<your.proxy.host>
http.proxyPort=<yout.proxy.port>
Regards,
At sonar.properties set the proxy without "http://", only http.proxyHost=myproxy.domain.pt
Another suggestion is to also add this lines on wrapper.conf:
wrapper.java.additional.3=-Dhttp.proxySet=true
wrapper.java.additional.4=-Dhttp.proxyHost=myproxy.domain.pt
wrapper.java.additional.5=-Dhttp.proxyPort=myproxy.port
wrapper.java.additional.6=-Dhttps.proxyHost=myproxy.domain.pt
wrapper.java.additional.7=-Dhttps.proxyPort=myproxy.port
Careful if you have a docker volume, remove it before deploy the new one with this configuration, or otherwise it will keep the original configuration
Appart from http, don't forget to set your https proxy configuration in sonar.properties (update server is behind HTTPS):
https.proxyHost=<host>
https.proxyPort=<port>
https.proxyUser=<username>
https.proxyPassword=<password>

Resources